/* =========================================================
   NEST IN LUXURY STAYS
   Premium Corporate Application Theme V3
   Visual-only override. No functional/display logic changes.
   ========================================================= */

:root{
  --nx-navy:#17233c;
  --nx-navy-2:#202f50;
  --nx-blue:#3156d3;
  --nx-blue-dark:#2444b0;
  --nx-blue-soft:#eef2ff;

  --nx-ivory:#f7f8fc;
  --nx-white:#ffffff;
  --nx-card:#ffffff;

  --nx-text:#17233c;
  --nx-muted:#687386;
  --nx-muted-2:#8993a5;

  --nx-line:#e3e7ef;
  --nx-line-strong:#d7ddea;

  --nx-gold:#c89b52;

  --nx-success:#18865b;
  --nx-success-bg:#eaf7f1;

  --nx-warning:#9b6818;
  --nx-warning-bg:#fff5df;

  --nx-danger:#bf4450;
  --nx-danger-bg:#fff0f2;

  --nx-info:#3156d3;
  --nx-info-bg:#eef2ff;

  --nx-shadow:
    0 6px 20px rgba(24,35,60,.055);

  --nx-shadow-lg:
    0 16px 38px rgba(24,35,60,.12);
}


/* ---------------------------------------------------------
   APPLICATION BACKGROUND
   --------------------------------------------------------- */

html,
body{
  background:var(--nx-ivory)!important;
  color:var(--nx-text);
}

body.ops-ready{
  background:var(--nx-ivory)!important;
}


/* ---------------------------------------------------------
   SIDEBAR
   Removes previous green gradient
   --------------------------------------------------------- */

#opsSidebar,
#opsSidebar .ops-nav{
  background:
    linear-gradient(
      180deg,
      #17233c 0%,
      #1a2947 55%,
      #202f50 100%
    )!important;
}

#opsSidebar{
  border-right:1px solid rgba(255,255,255,.07)!important;
  box-shadow:
    8px 0 28px rgba(18,29,51,.10)!important;
}

#opsSidebar .ops-nav{
  border-top:1px solid rgba(255,255,255,.07)!important;
}

#opsSidebar .ops-nav-section{
  color:#8fa3ca!important;
  opacity:1!important;
  text-shadow:none!important;
  letter-spacing:.12em!important;
}

#opsSidebar .ops-nav button[data-ops-view],
#opsSidebar .ops-nav button[data-ops-view] .ops-nav-label{
  color:#dfe6f5!important;
  text-shadow:none!important;
  opacity:1!important;
}

#opsSidebar .ops-nav button[data-ops-view]{
  border-color:transparent!important;
  border-left:3px solid transparent!important;
  background:transparent!important;
}

#opsSidebar .ops-nav button[data-ops-view] .ops-nav-icon{
  color:#aebce0!important;
  background:rgba(255,255,255,.055)!important;
  border-color:rgba(255,255,255,.09)!important;
}

#opsSidebar .ops-nav button[data-ops-view]:hover{
  color:#fff!important;
  background:rgba(255,255,255,.075)!important;
  border-color:transparent!important;
  border-left-color:#708ce5!important;
}

#opsSidebar .ops-nav button[data-ops-view]:hover .ops-nav-icon{
  color:#fff!important;
  background:rgba(49,86,211,.30)!important;
  border-color:rgba(130,154,235,.35)!important;
}


/* Active menu = clean royal blue, not yellow */

#opsSidebar .ops-nav button[data-ops-view].active{
  color:#fff!important;

  background:
    linear-gradient(
      100deg,
      #3156d3 0%,
      #3c62dd 100%
    )!important;

  border-color:rgba(255,255,255,.08)!important;
  border-left-color:#aebfff!important;

  box-shadow:
    0 8px 22px rgba(3,14,40,.20)!important;

  text-shadow:none!important;
}

#opsSidebar .ops-nav button[data-ops-view].active .ops-nav-label{
  color:#fff!important;
}

#opsSidebar .ops-nav button[data-ops-view].active .ops-nav-icon{
  color:#fff!important;
  background:rgba(255,255,255,.13)!important;
  border-color:rgba(255,255,255,.18)!important;
}

#opsSidebar .ops-side-foot{
  color:#cfd8ed!important;
  background:rgba(5,14,34,.22)!important;
  border-top:1px solid rgba(255,255,255,.06)!important;
}


/* ---------------------------------------------------------
   APPLICATION VIEWS
   --------------------------------------------------------- */

.view{
  color:var(--nx-text);
}

.view:not(#dashboardView){
  background:var(--nx-ivory)!important;
}


/* ---------------------------------------------------------
   PAGE TITLES / HEADINGS
   --------------------------------------------------------- */

.view h1,
.view h2,
.view h3,
.view h4{
  color:var(--nx-text);
}

.view p{
  color:var(--nx-muted);
}


/* ---------------------------------------------------------
   GENERAL CARDS / PANELS
   --------------------------------------------------------- */

.view .card,
.view .panel,
.view .section-card,
.view .summary-card,
.view .stat-card,
.view .metric-card,
.view .ni-card,
.view .ops-card{
  background:var(--nx-card)!important;
  border-color:var(--nx-line)!important;
  box-shadow:var(--nx-shadow)!important;
}


/* ---------------------------------------------------------
   INPUTS / SELECTS / TEXTAREAS
   --------------------------------------------------------- */

.view input,
.view select,
.view textarea,
#rgLayoutOverlay input,
#rgLayoutOverlay select,
#rgLayoutOverlay textarea{
  background:#fff!important;
  color:var(--nx-text)!important;
  border-color:#dce2ec!important;
}

.view input::placeholder,
.view textarea::placeholder{
  color:#9aa4b5!important;
}

.view input:focus,
.view select:focus,
.view textarea:focus,
#rgLayoutOverlay input:focus,
#rgLayoutOverlay select:focus,
#rgLayoutOverlay textarea:focus{
  border-color:var(--nx-blue)!important;
  box-shadow:
    0 0 0 3px rgba(49,86,211,.10)!important;
  outline:none!important;
}


/* ---------------------------------------------------------
   PRIMARY BUTTONS
   --------------------------------------------------------- */

.btn-primary,
.view .btn-primary,
#rgLayoutOverlay .btn-primary{
  background:
    linear-gradient(
      135deg,
      #3156d3,
      #294bc0
    )!important;

  border-color:#3156d3!important;
  color:#fff!important;

  box-shadow:
    0 5px 14px rgba(49,86,211,.16)!important;
}

.btn-primary:hover,
.view .btn-primary:hover,
#rgLayoutOverlay .btn-primary:hover{
  background:
    linear-gradient(
      135deg,
      #365ee1,
      #2444b0
    )!important;

  border-color:#2444b0!important;
}


/* ---------------------------------------------------------
   SECONDARY BUTTONS
   --------------------------------------------------------- */

.btn-ghost,
.view .btn-ghost,
#rgLayoutOverlay .btn-ghost{
  background:#fff!important;
  color:#44536a!important;
  border-color:#dce2ec!important;
}

.btn-ghost:hover,
.view .btn-ghost:hover,
#rgLayoutOverlay .btn-ghost:hover{
  background:#f4f6fb!important;
  color:#24334d!important;
  border-color:#cbd3e1!important;
}


/* ---------------------------------------------------------
   TABLES
   --------------------------------------------------------- */

.view table{
  background:#fff!important;
  color:var(--nx-text)!important;
}

.view table thead,
.view table th{
  background:#f4f6fb!important;
  color:#536174!important;
  border-color:var(--nx-line)!important;
}

.view table td{
  border-color:#edf0f5!important;
}

.view table tbody tr:hover{
  background:#f8faff!important;
}


/* ---------------------------------------------------------
   MODALS / DRAWERS
   --------------------------------------------------------- */

.ni-modal,
.ni-modal-card,
.modal-content,
.drawer,
#rgResidentDrawer,
.grw-full-drawer,
.grw-room-drawer{
  color:var(--nx-text)!important;
}

.ni-modal-card,
.modal-content,
#rgResidentDrawer,
.grw-full-drawer,
.grw-room-drawer{
  background:#fff!important;
  border-color:var(--nx-line)!important;
  box-shadow:
    -12px 0 34px rgba(24,35,60,.14)!important;
}


/* ---------------------------------------------------------
   RENT PAYMENT MODAL
   --------------------------------------------------------- */

#nrpModal .ni-modal-card{
  background:#fff!important;
}

#nrpModal .ni-modal-stat{
  background:#f7f8fc!important;
  border-color:#e2e7f0!important;
}

#nrpModal .ni-modal-stat span{
  color:var(--nx-muted)!important;
}

#nrpModal .ni-modal-stat strong{
  color:var(--nx-text)!important;
}

#nrpQuickOutstanding{
  background:var(--nx-blue)!important;
  border-color:var(--nx-blue)!important;
  color:#fff!important;
}


/* ---------------------------------------------------------
   ROOMS & BEDS
   --------------------------------------------------------- */

#rgLayoutOverlay{
  background:var(--nx-ivory)!important;
}

#rgLayoutOverlay .rg-shell,
#rgLayoutOverlay .rg-room,
#rgLayoutOverlay .rg-card,
#rgLayoutOverlay .rg-bed,
#rgLayoutOverlay [class*="room-card"],
#rgLayoutOverlay [class*="bed-card"]{
  border-color:var(--nx-line)!important;
}

#rgLayoutOverlay .rg-room,
#rgLayoutOverlay .rg-card,
#rgLayoutOverlay [class*="room-card"]{
  background:#fff!important;
  box-shadow:var(--nx-shadow)!important;
}

#rgLayoutOverlay h1,
#rgLayoutOverlay h2,
#rgLayoutOverlay h3,
#rgLayoutOverlay strong{
  color:var(--nx-text);
}


/* Room header/action controls */

#rgLayoutOverlay button:not(.btn-primary){
  border-radius:9px;
}


/* ---------------------------------------------------------
   RENT LEDGER
   --------------------------------------------------------- */

#rentLedgerView{
  background:var(--nx-ivory)!important;
}

#rentLedgerView .ledger-stat,
#rentLedgerView [class*="ledger-stat"],
#rentLedgerView [class*="summary"]{
  border-color:var(--nx-line)!important;
}

#rentLedgerView [class*="ledger-stat"]{
  background:#fff!important;
  box-shadow:var(--nx-shadow)!important;
}


/* ---------------------------------------------------------
   NOTICE & VACATE
   --------------------------------------------------------- */

#vacateManagementView{
  background:var(--nx-ivory)!important;
}

#vacateManagementView .card,
#vacateManagementView [class*="resident-card"],
#vacateManagementView [class*="notice-card"]{
  background:#fff!important;
  border-color:var(--nx-line)!important;
  box-shadow:var(--nx-shadow)!important;
}


/* ---------------------------------------------------------
   BUILDING MASTER
   --------------------------------------------------------- */

#buildingMasterView,
[id*="building"][class*="view"]{
  background:var(--nx-ivory)!important;
}

#buildingMasterView .card,
#buildingMasterView [class*="property"],
#buildingMasterView [class*="floor"],
#buildingMasterView [class*="room"]{
  border-color:var(--nx-line)!important;
}


/* ---------------------------------------------------------
   ADMISSIONS
   --------------------------------------------------------- */

#admissionsView,
[id*="admission"][class*="view"]{
  background:var(--nx-ivory)!important;
}


/* ---------------------------------------------------------
   STATUS COLORS
   Keep status meaning clear
   --------------------------------------------------------- */

.status-success,
.badge-success,
[class*="status"][class*="active"]{
  color:var(--nx-success)!important;
}

.status-warning,
.badge-warning{
  color:var(--nx-warning)!important;
}

.status-danger,
.badge-danger,
.error,
.ni-error{
  color:var(--nx-danger)!important;
}

.ni-error{
  background:var(--nx-danger-bg)!important;
  border-color:#ffd4da!important;
}


/* ---------------------------------------------------------
   LINKS
   --------------------------------------------------------- */

.view a{
  color:var(--nx-blue);
}

.view a:hover{
  color:var(--nx-blue-dark);
}


/* ---------------------------------------------------------
   SCROLLBARS
   --------------------------------------------------------- */

*{
  scrollbar-color:#bdc7d8 #f2f4f8;
}

::-webkit-scrollbar{
  width:9px;
  height:9px;
}

::-webkit-scrollbar-track{
  background:#f2f4f8;
}

::-webkit-scrollbar-thumb{
  background:#bdc7d8;
  border-radius:999px;
  border:2px solid #f2f4f8;
}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media(max-width:800px){

  #opsSidebar,
  #opsSidebar .ops-nav{
    background:#17233c!important;
  }

  .view:not(#dashboardView),
  #rgLayoutOverlay{
    background:#f7f8fc!important;
  }
}
