/* =====================================================================
   ChatCanal — Glassmorphism theme layer  (v3: LIGHT · auth + app shell)
   Palette: 043915 deep · 4C763B moss · B0CE88 sage · FFFD8F butter
   Layered override on Argon/Bootstrap.
     - Auth pages scoped to  body.lw-guest-page.main-content-has-bg
     - App shell scoped to    body.lw-authenticated-page
   (public marketing homepage is left untouched)
   ===================================================================== */
:root{
  --cc-deep:#043915; --cc-moss:#4C763B; --cc-sage:#B0CE88; --cc-butter:#FFFD8F;
  --cc-ink:#0b2a13; --cc-ink-dim:#3d5a33; --cc-ink-mut:#6d8a5d;
  --cc-glass:rgba(255,255,255,0.52);
  --cc-glass-2:rgba(255,255,255,0.70);
  --cc-panel:rgba(255,255,255,0.60);
  --cc-line:rgba(4,57,21,0.12);
  --cc-blur:20px;
  --cc-shadow:0 22px 55px -24px rgba(4,57,21,.32);
  --cc-r-lg:20px; --cc-r-md:13px;
}

/* ===================== SHARED GROUND ===================== */
body.lw-guest-page.main-content-has-bg,
body.lw-authenticated-page{
  background:
    radial-gradient(1200px 820px at 8% -14%, rgba(176,206,136,.66), transparent 56%),
    radial-gradient(1100px 780px at 106% 114%, rgba(255,253,143,.52), transparent 55%),
    radial-gradient(900px 600px at 92% -6%, rgba(76,118,59,.22), transparent 60%),
    linear-gradient(158deg,#eef4e1,#e8f0d7 52%,#eef4e2) !important;
  background-attachment:fixed !important;
  color:var(--cc-ink);
}
body.lw-authenticated-page .main-content{ background:transparent !important; }
/* neutralise Argon's bright coloured page-header blocks */
body.lw-authenticated-page .header[class*="bg-"],
body.lw-authenticated-page .header{ background:transparent !important; }

/* ===================== SIDEBAR → glass rail ===================== */
body.lw-authenticated-page #sidenav-main.lw-sidebar-container,
body.lw-authenticated-page #sidenav-main{
  background:var(--cc-glass) !important;
  -webkit-backdrop-filter:blur(var(--cc-blur)) saturate(140%);
  backdrop-filter:blur(var(--cc-blur)) saturate(140%);
  border-right:1px solid var(--cc-line) !important;
  box-shadow:0 0 40px -18px rgba(4,57,21,.4) !important;
}
body.lw-authenticated-page #sidenav-main .navbar-nav .nav-link{
  color:var(--cc-ink-dim) !important; border-radius:11px; margin:1px 8px; font-weight:500;
  transition:background .15s,color .15s;
}
body.lw-authenticated-page #sidenav-main .navbar-nav .nav-link:hover{
  background:var(--cc-glass-2) !important; color:var(--cc-deep) !important;
}
body.lw-authenticated-page #sidenav-main .navbar-nav .nav-link.active,
body.lw-authenticated-page #sidenav-main .navbar-nav .nav-link[aria-expanded="true"]{
  background:linear-gradient(100deg,rgba(176,206,136,.6),rgba(255,253,143,.32)) !important;
  color:var(--cc-deep) !important;
}
body.lw-authenticated-page #sidenav-main .nav-link i,
body.lw-authenticated-page #sidenav-main .nav-link .fa{ color:var(--cc-moss) !important; }
body.lw-authenticated-page #sidenav-main .nav-link.active i{ color:var(--cc-deep) !important; }
body.lw-authenticated-page #sidenav-main .navbar-heading{ color:var(--cc-ink-mut) !important; }
body.lw-authenticated-page #sidenav-main hr,
body.lw-authenticated-page #sidenav-main .dropdown-divider{ border-color:var(--cc-line) !important; }

/* ===================== TOP NAVBAR ===================== */
body.lw-authenticated-page .main-content > .navbar,
body.lw-authenticated-page .navbar-top{
  background:var(--cc-glass) !important;
  -webkit-backdrop-filter:blur(var(--cc-blur)) saturate(140%);
  backdrop-filter:blur(var(--cc-blur)) saturate(140%);
  border:1px solid var(--cc-line) !important;
  border-radius:var(--cc-r-lg) !important;
  margin:12px 14px 0 !important;
  box-shadow:var(--cc-shadow) !important;
}

/* ===================== CARDS → glass panels ===================== */
body.lw-authenticated-page .card,
body.lw-guest-page.main-content-has-bg .card.lw-form-card-box{
  background:var(--cc-panel) !important;
  border:1px solid rgba(255,255,255,.55) !important;
  border-radius:var(--cc-r-lg) !important;
  box-shadow:var(--cc-shadow) !important;
  -webkit-backdrop-filter:blur(var(--cc-blur)) saturate(135%);
  backdrop-filter:blur(var(--cc-blur)) saturate(135%);
}
body.lw-authenticated-page .card .card-header,
body.lw-authenticated-page .card .card-footer,
body.lw-guest-page.main-content-has-bg .card .card-header,
body.lw-guest-page.main-content-has-bg .card .card-footer{
  background:transparent !important; border-color:var(--cc-line) !important;
}
body.lw-authenticated-page .card-header h1,
body.lw-authenticated-page .card-header h2,
body.lw-authenticated-page .card-header h3,
body.lw-authenticated-page .card-header h4,
body.lw-authenticated-page .card-title,
body.lw-authenticated-page .card .h2,
body.lw-authenticated-page .card .h3{ color:var(--cc-deep) !important; }

/* ===================== TEXT ===================== */
body.lw-authenticated-page .text-dark,
body.lw-guest-page.main-content-has-bg .card .text-dark{ color:var(--cc-ink) !important; }
body.lw-authenticated-page .text-muted{ color:var(--cc-ink-mut) !important; }
body.lw-authenticated-page .text-success,
body.lw-guest-page.main-content-has-bg .text-success{ color:var(--cc-moss) !important; }
body.lw-authenticated-page h1,body.lw-authenticated-page h2,body.lw-authenticated-page h3{ color:var(--cc-deep); }

/* ===================== BUTTONS ===================== */
/* primary/success → deep green + butter text (signature) */
body.lw-authenticated-page .btn-primary,
body.lw-authenticated-page .btn-success,
body.lw-guest-page.main-content-has-bg .btn-success{
  background:linear-gradient(135deg,var(--cc-deep),var(--cc-moss)) !important;
  border:none !important; color:var(--cc-butter) !important; font-weight:700 !important;
  border-radius:var(--cc-r-md) !important;
  box-shadow:0 10px 22px -10px rgba(4,57,21,.5), inset 0 1px 0 rgba(255,255,255,.16) !important;
  transition:transform .12s, box-shadow .2s;
}
body.lw-authenticated-page .btn-primary:hover,
body.lw-authenticated-page .btn-success:hover,
body.lw-guest-page.main-content-has-bg .btn-success:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 30px -10px rgba(4,57,21,.64), inset 0 1px 0 rgba(255,255,255,.16) !important;
}
/* secondary / info / warning → sage glass */
body.lw-authenticated-page .btn-secondary,
body.lw-authenticated-page .btn-info,
body.lw-authenticated-page .btn-warning,
body.lw-authenticated-page .btn-outline-primary,
body.lw-guest-page.main-content-has-bg .btn-warning{
  background:rgba(176,206,136,.5) !important;
  border:1px solid rgba(76,118,59,.4) !important;
  color:var(--cc-deep) !important; font-weight:700 !important;
  border-radius:var(--cc-r-md) !important; box-shadow:none !important;
}
body.lw-authenticated-page .btn-secondary:hover,
body.lw-authenticated-page .btn-info:hover,
body.lw-authenticated-page .btn-warning:hover,
body.lw-guest-page.main-content-has-bg .btn-warning:hover{ background:rgba(176,206,136,.8) !important; }

/* ===================== FORMS ===================== */
body.lw-authenticated-page .form-control,
body.lw-authenticated-page .custom-select,
body.lw-authenticated-page .input-group-alternative,
body.lw-guest-page.main-content-has-bg .input-group-alternative{
  background:rgba(255,255,255,.6) !important;
  border:1px solid var(--cc-line) !important;
  color:var(--cc-ink) !important; box-shadow:none !important; border-radius:var(--cc-r-md) !important;
}
body.lw-authenticated-page .form-control:focus,
body.lw-authenticated-page .input-group-alternative:focus-within,
body.lw-guest-page.main-content-has-bg .input-group-alternative:focus-within{
  border-color:rgba(76,118,59,.65) !important; box-shadow:0 0 0 3px rgba(76,118,59,.15) !important;
}
body.lw-authenticated-page .form-control::placeholder{ color:var(--cc-ink-mut) !important; }
body.lw-guest-page.main-content-has-bg .input-group-text,
body.lw-authenticated-page .input-group-text{ background:transparent !important; border:none !important; color:var(--cc-moss) !important; }
body.lw-guest-page.main-content-has-bg .form-control{ background:transparent !important; border:none !important; }

/* ===================== TABLES ===================== */
body.lw-authenticated-page .table{ color:var(--cc-ink) !important; }
body.lw-authenticated-page .table thead th{
  background:rgba(76,118,59,.12) !important; color:var(--cc-ink-dim) !important;
  border-color:var(--cc-line) !important; letter-spacing:.03em;
}
body.lw-authenticated-page .table td,
body.lw-authenticated-page .table th{ border-color:rgba(4,57,21,.07) !important; }
body.lw-authenticated-page .table-hover tbody tr:hover{ background:rgba(176,206,136,.18) !important; }

/* ===================== BADGES / MISC ===================== */
body.lw-authenticated-page .badge-success{ background:rgba(76,118,59,.9) !important; color:#f4faea !important; }
body.lw-authenticated-page .badge-warning{ background:var(--cc-butter) !important; color:#6b5b06 !important; }
body.lw-authenticated-page .dropdown-menu{
  background:var(--cc-glass-2) !important; border:1px solid var(--cc-line) !important;
  -webkit-backdrop-filter:blur(var(--cc-blur)); backdrop-filter:blur(var(--cc-blur));
  border-radius:14px !important;
}

/* ===================== AUTH-PAGE SPECIFICS ===================== */
body.lw-guest-page.main-content-has-bg{ min-height:100vh; }
body.lw-guest-page.main-content-has-bg .main-content{ background:transparent !important; }
body.lw-guest-page.main-content-has-bg .header{ padding-top:3.5rem !important; }
body.lw-guest-page.main-content-has-bg .card.lw-form-card-box{ overflow:hidden; }
body.lw-guest-page.main-content-has-bg .card.lw-form-card-box h1{ color:var(--cc-deep) !important; font-weight:700; }
body.lw-guest-page.main-content-has-bg .text-light{ color:var(--cc-ink-mut) !important; }
body.lw-guest-page.main-content-has-bg .custom-control-input:checked ~ .custom-control-label::before{
  background:var(--cc-deep) !important; border-color:var(--cc-deep) !important;
}
body.lw-guest-page.main-content-has-bg .btn-google,
body.lw-guest-page.main-content-has-bg .btn-facebook{
  background:rgba(255,255,255,.6) !important; border:1px solid var(--cc-line) !important; color:var(--cc-ink) !important; border-radius:var(--cc-r-md) !important;
}

@media (prefers-reduced-motion:reduce){ body.lw-authenticated-page *,body.lw-guest-page *{ transition:none !important; } }
