/* ==========================================================
   Tranquillus HMS — Design tokens
   Light: soft sage off-white canvas, fresh green accents
   Dark : deep teal-black canvas, vivid green accents
   ========================================================== */
:root {
	--sidebar-width: 280px;
	--sidebar-rail-width: 72px;

	/* Canvas (off-white sage) */
	--nm-bg:        #eef0e8;
	--nm-surface:   #f5f6f0;
	--nm-light:     #ffffff;
	--nm-dark:      #c5c9bc;
	--nm-text:      #2f3a2f;
	--nm-muted:     #6b7466;
	--nm-faint:     #9aa395;

	/* Accent — fresh green */
	--nm-accent:    #6ea84a;     /* primary green */
	--nm-accent-2:  #9ec570;     /* lighter mint */
	--nm-navy:      #2d4a2d;     /* deep heading green */

	/* Status hues (kept stable across themes) */
	--nm-success:   #2eaa6a;
	--nm-warning:   #e6b450;
	--nm-danger:    #e6705a;
	--nm-info:      #5aa9d6;

	/* Room state colour tokens — left-border accents on room cards */
	--state-vacant:           #2eaa6a;
	--state-occupied:         #e6b450;
	--state-reserved:         #5aa9d6;
	--state-dirty:            #c8763e;
	--state-cleaning:         #9b7fd4;
	--state-clean:            #3fb8a0;
	--state-out-of-order:     #e6705a;
	--state-out-of-service:   #6b7466;

	/* Reservation status colours — used in calendar and status badges */
	--res-pending:    #888888;
	--res-confirmed:  #0d9488;
	--res-in-house:   #f59e0b;
	--res-out:        #6b7280;
	--res-cancelled:  #ef4444;
	--res-no-show:    #8b5cf6;

	--nm-radius:    18px;
	--nm-radius-sm: 12px;
	--nm-radius-xs: 8px;

	/* Neumorphic shadows — softer in light theme */
	--nm-raised:    8px 8px 18px var(--nm-dark), -8px -8px 18px var(--nm-light);
	--nm-raised-sm: 4px 4px 10px var(--nm-dark), -4px -4px 10px var(--nm-light);
	--nm-inset:     inset 5px 5px 12px var(--nm-dark), inset -5px -5px 12px var(--nm-light);
	--nm-inset-sm:  inset 2px 2px 6px  var(--nm-dark), inset -2px -2px 6px  var(--nm-light);

	/* Liquid glass — translucent surface that picks up the canvas */
	--glass-bg:        rgba(255, 255, 255, 0.55);
	--glass-bg-strong: rgba(255, 255, 255, 0.72);
	--glass-border:    rgba(255, 255, 255, 0.65);
	--glass-edge:      rgba(45, 74, 45, 0.06);
	--glass-blur:      blur(22px) saturate(160%);
	--glass-shadow:    0 12px 32px rgba(60, 70, 50, 0.10),
	                   0 1px 0 rgba(255, 255, 255, 0.6) inset;

	/* Bootstrap aliases */
	--primary:      var(--nm-accent);
	--navy:         var(--nm-navy);
	--body-bg:      var(--nm-bg);
	--sidebar-bg:   var(--nm-bg);
	--border-color: transparent;
	--border-soft:  transparent;
}

/* --------------------------------------------------------
   Dark theme — deep teal-black with vivid green
-------------------------------------------------------- */
[data-nm-theme="dark"] {
	--nm-bg:        #0f1614;
	--nm-surface:   #161e1b;
	--nm-light:     #1c2622;
	--nm-dark:      #060a09;
	--nm-text:      #e2ecdf;
	--nm-muted:     #9aa89a;
	--nm-faint:     #6b7d6b;

	--nm-accent:    #5fd97c;     /* vivid green */
	--nm-accent-2:  #9ef0a8;
	--nm-navy:      #b9f0c6;     /* heading tint in dark */

	--nm-success:   #3fd97c;
	--nm-warning:   #f0c46b;
	--nm-danger:    #f0856e;
	--nm-info:      #6cc1e6;

	--nm-raised:    10px 10px 22px var(--nm-dark), -10px -10px 22px var(--nm-light);
	--nm-raised-sm: 5px 5px 12px var(--nm-dark), -5px -5px 12px var(--nm-light);
	--nm-inset:     inset 5px 5px 12px var(--nm-dark), inset -5px -5px 12px var(--nm-light);
	--nm-inset-sm:  inset 2px 2px 6px  var(--nm-dark), inset -2px -2px 6px  var(--nm-light);

	--glass-bg:        rgba(28, 38, 34, 0.55);
	--glass-bg-strong: rgba(28, 38, 34, 0.78);
	--glass-border:    rgba(159, 232, 168, 0.12);
	--glass-edge:      rgba(0, 0, 0, 0.35);
	--glass-shadow:    0 14px 36px rgba(0, 0, 0, 0.45),
	                   0 1px 0 rgba(255, 255, 255, 0.04) inset;

	--bs-body-color:    var(--nm-text);
	--bs-heading-color: var(--nm-text);
	color-scheme: dark;
}
