/* ==========================================================
   Tranquillus HMS — Auth Pages (Neumorphism + Liquid Glass)
   Mirrors admin.css token palette so login/register/reset
   look like the rest of the system.
   ========================================================== */

:root {
	--nm-bg:        #eef0e8;
	--nm-surface:   #f5f6f0;
	--nm-light:     #ffffff;
	--nm-dark:      #c5c9bc;
	--nm-text:      #2f3a2f;
	--nm-muted:     #6b7466;
	--nm-faint:     #9aa395;

	--nm-accent:    #6ea84a;
	--nm-accent-2:  #9ec570;
	--nm-navy:      #2d4a2d;

	--nm-radius:    22px;
	--nm-radius-sm: 12px;

	--nm-raised:    10px 10px 24px var(--nm-dark), -10px -10px 24px 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);

	--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-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;
}

[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;
	--nm-accent-2:  #9ef0a8;
	--nm-navy:      #b9f0c6;

	--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-shadow:    0 14px 36px rgba(0, 0, 0, 0.45),
	                   0 1px 0 rgba(255, 255, 255, 0.04) inset;

	color-scheme: dark;
}

[data-nm-theme="dark"] .text-muted,
[data-nm-theme="dark"] .form-text,
[data-nm-theme="dark"] small.text-muted { color: var(--nm-muted) !important; }

/* Layout — centered with blooming canvas */
body {
	background: var(--nm-bg);
	background-image:
		radial-gradient(900px 700px at 90% -10%, rgba(158, 197, 112, 0.30), transparent 60%),
		radial-gradient(700px 600px at -10% 110%, rgba(110, 168, 74, 0.20), transparent 60%);
	background-attachment: fixed;
	min-height: 100vh;
	display: flex;
	align-items: center;
	font-family: "Nunito", var(--bs-font-sans-serif);
	color: var(--nm-text);
}

[data-nm-theme="dark"] body {
	background-image:
		radial-gradient(900px 700px at 90% -10%, rgba(95, 217, 124, 0.10), transparent 60%),
		radial-gradient(700px 600px at -10% 110%, rgba(63, 217, 124, 0.08), transparent 60%);
}

/* Auth card — liquid glass over neumorphic body */
.auth-card {
	background: var(--glass-bg-strong);
	-webkit-backdrop-filter: var(--glass-blur);
	backdrop-filter: var(--glass-blur);
	border: 1px solid var(--glass-border) !important;
	border-radius: var(--nm-radius);
	box-shadow: var(--glass-shadow), var(--nm-raised);
}

.auth-card .card-body { padding: 2.5rem !important; }

/* Form controls — inset neumorphic */
.auth-card .form-control,
.auth-card .form-select {
	background: var(--nm-bg);
	border: none;
	border-radius: var(--nm-radius-sm);
	box-shadow: var(--nm-inset-sm);
	color: var(--nm-text);
	transition: box-shadow 0.2s;
}

.auth-card .form-control:focus,
.auth-card .form-select:focus {
	background: var(--nm-bg);
	border: none;
	outline: none;
	box-shadow: var(--nm-inset), 0 0 0 3px rgba(110, 168, 74, 0.18);
	color: var(--nm-text);
}

.auth-card .form-control::placeholder { color: var(--nm-muted); opacity: 0.7; }

.auth-card label {
	font-weight: 600;
	color: var(--nm-muted);
	font-size: 13px;
}

/* Buttons */
.auth-card .btn {
	border: none;
	border-radius: var(--nm-radius-sm);
	font-weight: 700;
	transition: box-shadow 0.15s, transform 0.1s, filter 0.2s;
}

.auth-card .btn-primary {
	background: linear-gradient(135deg, var(--nm-accent) 0%, var(--nm-accent-2) 100%);
	color: #fff;
	box-shadow: 4px 4px 14px rgba(110, 168, 74, 0.40), -2px -2px 8px var(--nm-light);
}

.auth-card .btn-primary:hover {
	color: #fff;
	filter: brightness(1.05);
	box-shadow: 6px 6px 18px rgba(110, 168, 74, 0.45), -2px -2px 8px var(--nm-light);
	transform: translateY(-1px);
}

.auth-card .btn-primary:active {
	box-shadow: var(--nm-inset-sm) !important;
	transform: translateY(0);
}

/* Brand */
.auth-card h3 { color: var(--nm-navy); font-weight: 800; letter-spacing: -0.01em; }
[data-nm-theme="dark"] .auth-card h3 { color: var(--nm-text); }

.auth-card .text-primary { color: var(--nm-accent) !important; }
.auth-card .text-muted   { color: var(--nm-muted)  !important; }

.auth-card a { color: var(--nm-accent); }
.auth-card a:hover { color: var(--nm-accent-2); }

/* Alerts */
.auth-card .alert {
	border: none;
	border-radius: var(--nm-radius-sm);
	box-shadow: var(--nm-raised-sm);
}

/* Back link */
.text-center a.text-white {
	color: var(--nm-muted) !important;
	opacity: 0.85;
}
.text-center a.text-white:hover { color: var(--nm-accent) !important; opacity: 1; }

/* Input groups */
.auth-card .input-group .form-control {
	border-radius: var(--nm-radius-sm) 0 0 var(--nm-radius-sm);
}
.auth-card .input-group .btn {
	border-radius: 0 var(--nm-radius-sm) var(--nm-radius-sm) 0;
	box-shadow: none;
}
