
.container {
	max-width: 1000px;
	margin: 5px auto;
	padding: 5px;
	background-color: #ffffff;			
}

h2 {
	margin: 5px;
	color: #2f3640;
	text-align:center;
}

#editprofile label {
	display: block;
	margin-top: 15px;
	font-weight: 600;
	color: #353b48;
	font-size: 16px;
}

#editprofile input[type="text"],
#editprofile textarea,
#editprofile input[type="file"] {
	width: 100%;
	padding: 8px 10px;
	margin-top: 5px;
	border: 1px solid #dcdde1;
	border-radius: 4px;
	box-sizing: border-box;
	display: inline-block;
}

#editprofile input:focus{
	outline: none!important;
    border-color: #6666ff !important;
    box-shadow: 0 0 10px #6666ff !important;	
	
}

.color-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
	gap: 20px; /* space between color pickers */
	align-items: center;
	margin-top: 5px;
}

.color-grid label {
	display: block;
	margin-bottom: 5px;
	margin-top: 5px;
	font-weight: 600;
}

.color-grid input[type="color"] {
	width: 60px;
	height: 35px;
	border: 2px solid #dcdde1;
	border-radius: 5px;
	cursor: pointer;
	padding: 0;
}

#editprofile textarea {
	resize: vertical;
}

#editprofile button {
	margin-top: 10px;
	padding: 10px 25px;
	background-color: #40739e;
	color: #fff;
	border: none;
	border-radius: 4px;
	font-size: 16px;
	cursor: pointer;
	transition: 0.2s;
}

#editprofile button:hover {
	background-color: #2f3640;
}

.changesmade {
	background-color: #f00;
	color: yellow;
}

#logoPreview {
	max-height: 100px;
	margin-top: 5px;
	border: 1px solid #dcdde1;
	border-radius: 4px;
	display: block;
}

.preview {
	margin-top: 30px;
	padding: 15px;
	border: 1px solid #dcdde1;
	border-radius: 6px;
	display: flex;
	align-items: center;
	gap: 15px;
	background-color: #f1f2f6;
}

.preview img {
	max-height: 60px;
}

.preview h3 {
	margin: 0;
	color: #2f3640;
}

/* Make each form group horizontal */
.form-group {
	display: flex;
	align-items: center;
	margin-bottom: 5px;
	gap: 12px; /* space between label and input */
}

/* Labels take fixed width */
.form-group label {
	width: 180px;              /* adjust as needed */
	font-weight: 600;
	margin: 0;
}

/* Inputs take remaining width */
.form-group input[type="text"],
.form-group input[type="file"],
.form-group textarea {
	flex: 1;                   /* fill remaining space */
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
}

/* Adjust color pickers alignment */
.color-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
	gap: 20px;
	margin-top: 5px;
	margin-bottom: 5px;
}

.color-grid label {
	display: block;
	font-weight: 600;
	margin-bottom: 4px;
}


/* Responsive */
@media (max-width: 600px) {
	.preview {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* === Notification Settings Styles (namespaced with notif-) === */
.notif-container {
    max-width: 800px;
    margin: 20px auto;
    padding: 20px 25px;
    background-color: #fff;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
}

.notif-title {
    text-align: center;
    color: #2f3640;
    margin-bottom: 25px;
}

.notif-form-group {
    margin-bottom: 18px;
}

.notif-form-group label {
    display: block;
    font-weight: 600;
    margin-bottom: 6px;
    color: #353b48;
}

.notif-form-group textarea {
    width: 90%;
    padding: 10px;
    border: 1px solid #dcdde1;
    border-radius: 4px;
    font-size: 15px;
    box-sizing: border-box;
    resize: vertical;
	display:inline-block;
}

.notif-form-group textarea:focus {
	
	outline: none!important;
    border-color: #6666ff !important;
    box-shadow: 0 0 10px #6666ff !important;
}

.notif-hint {
    display: block;
    margin-top: 5px;
    font-size: 13px;
    color: #888;
}

.notif-btn {
    background-color: #40739e;
    color: white;
    border: none;
    border-radius: 4px;
    padding: 10px 25px;
    font-size: 15px;
    cursor: pointer;
    transition: background-color 0.2s ease;
}

.notif-btn:hover {
    background-color: #2f3640;
}

.notif-status {
    text-align: center;
    margin-top: 15px;
    font-weight: bold;
    transition: opacity 1s ease;
}

/* Highlight Save button when unsaved changes exist */
.notif-btn.changed {
	background-color: #e84118 !important; /* bright red/orange */
	color: #fff;
	box-shadow: 0 0 8px rgba(232,65,24,0.5);
}

.changed{
	background-color: #e84118 !important; /* bright red/orange */
	color: #fff;
	box-shadow: 0 0 8px rgba(232,65,24,0.5);
	
}



/* === Users Module Styles (row layout) === */
#usersContent {
	margin: 20px;
}

.users-title {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 15px;
	color: #222;
}

/* Each record now occupies a single horizontal row */
.users-grid {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

/* Each row styled as a horizontal card */
.users-card {
	display: grid;
	grid-template-columns: 60px 1fr 100px minmax(380px, 1.5fr);
	/* id | name/email | staffid | privileges */
	align-items: center;
	background: #fff;
	border-bottom: 1px solid #ddd; /* single horizontal separator */
	padding: 8px 12px;
	transition: background-color 0.15s ease;
	cursor: pointer;
}

/* Mild yellow highlight on hover */
.users-card:hover {
	background-color: #fff9e6;
}

/* Optional: give first and last rows a subtle boundary */
.users-card:first-child {
	border-top: 1px solid #ddd;
}

/* Column groups inside the row */
.users-id {
	font-size: 12px;
	color: #666;
	text-align: center;
}
.users-name {
	font-weight: bold;
	font-size: 15px;
	color: #222;
}
.users-email {
	font-size: 13px;
	color: #777;
}
.users-info {
	display: flex;
	flex-direction: column;
}

/* Privileges group (read-only checkboxes) */
.users-access {
	display: flex;
	gap: 12px;
	justify-content: flex-start;
}
.users-access label {
	font-size: 13px;
	color: #333;
	display: flex;
	align-items: center;
}
.users-access input[type="checkbox"][disabled] {
	appearance: none;
	-webkit-appearance: none;
	width: 16px;
	height: 16px;
	border: 2px solid #007bff;         /* blue border */
	border-radius: 3px;
	background-color: #e8f1ff;         /* light blue background */
	position: relative;
	cursor: default;
	opacity: 1;                        /* ensure not faded */
}

/* Checkmark for checked boxes */
.users-access input[type="checkbox"][disabled]:checked::after {
	content: "✔";
	font-size: 12px;
	color: #007bff;
	position: absolute;
	top: -1px;
	left: 2px;
}

/* Empty / no users message */
.users-empty {
	text-align: center;
	color: #888;
	margin-top: 40px;
}


/* Edit User Popup */

/* === Overlay background === */
/* === Overlay background with blur === */

.users-header-bar {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;   /* centers the title */
	margin-bottom: 10px;
	padding-right: 30px;       /* space for the button alignment */
}

/* Center the title explicitly */
.users-title {
	font-size: 20px;
	font-weight: bold;
	color: #222;
	margin: 0 auto;
	text-align: center;
}

/* Button anchored to the right */
.users-add-btn {
	position: absolute;
	right: 30px;               /* 30px from right edge */
	background-color: #0077cc;
	color: white;
	border: none;
	border-radius: 4px;
	padding: 6px 14px;
	font-size: 14px;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.users-add-btn:hover {
	background-color: #005fa3;
}


/* === Popup form box === */
#usersOverlay {
	display: none;
	position: fixed;
	top: 0; left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.4); /* soft frosted overlay */
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	z-index: 9999;
	
	display: flex;
	align-items: center;
	justify-content: center;
}

#usersEditForm {
	background-color: #fff;              /* solid white panel */
	border-radius: 8px;
	padding: 24px 28px;
	width: 400px;
	max-width: 90vw;
	box-shadow: 0 4px 20px rgba(0,0,0,0.25); /* strong boundary */
	animation: fadeIn 0.25s ease;
	position: relative;
}

#usersEditForm h3 {
	margin-top: 0;
	text-align: center;
	color: #333;
}

#editUserForm label {
	display: block;
	margin-top: 10px;
	font-weight: 600;
	font-size: 14px;
}

#editUserForm input[type="text"],
#editUserForm input[type="email"],
#editUserForm input[type="number"],
#editUserForm input[type="password"] {
	width: 100%;
	padding: 6px;
	margin-top: 3px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 14px;
	margin-bottom: 10px;
}

#editUserForm input:focus{
	outline: none!important;
    border-color: #6666ff !important;
    box-shadow: 0 0 10px #6666ff !important;
	
}


.users-access-edit {
	margin-top: 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 12px;
	justify-content:center;
}

.users-btn-row {
	text-align: center;
	margin-top: 15px;
}

.users-btn-row button {
	padding: 6px 14px;
	margin: 0 6px;
	font-size: 14px;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.2s;
}

.users-btn-row button:nth-child(1) {
    background-color: #0077cc;
    color: white;
}
.users-btn-row button:nth-child(1):hover {
    background-color: #005fa3;
}

.users-btn-row button:nth-child(2) {
    background-color: #ccc;
    color: black;
}
.users-btn-row button:nth-child(3):hover {
    background-color: #bbb;
	}

.users-btn-row button:nth-child(3) {
    background-color: #ccc;
}
.users-btn-row button:nth-child(2):hover {
    background-color: #bbb;
	color:red;
	font-weight:bold;
}

@keyframes fadeIn {
from { opacity: 0; transform: scale(0.9); }
to { opacity: 1; transform: scale(1); }
}



/* === Verify Overlay Popup === */

#verifyOverlay {
display: none;
position: fixed;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background-color: rgba(255, 255, 255, 0.5);
backdrop-filter: blur(6px);
-webkit-backdrop-filter: blur(6px);
display: flex;
align-items: center;
justify-content: center;
z-index: 9999;
}

#verifyBox {
background: #fff;
padding: 20px 28px;
border-radius: 10px;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
width: 300px;
text-align: center;
animation: fadeIn 0.2s ease;
}

#verifyBox h3 {
margin-top: 0;
color: #333;
}

#verifyBox input {
width: 80%;
padding: 8px;
font-size: 18px;
text-align: center;
letter-spacing: 4px;
margin: 10px 0;
border: 1px solid #ccc;
border-radius: 6px;
}

.verify-buttons {
display: flex;
justify-content: space-around;
margin-top: 12px;
}

.verify-buttons button {
padding: 8px 14px;
border: none;
border-radius: 6px;
cursor: pointer;
}

#verifySubmitBtn {
background-color: #007bff;
color: #fff;
}

#verifyCancelBtn {
background-color: #ccc;
color: #333;
}

.verifyMsg {
font-size: 14px;
color: #d9534f;
margin-top: 10px;
}


/* === Overlay Background === */
#resetOverlay {
display: none;                   /* hidden by default */
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.45); /* dim background */
z-index: 9999;
backdrop-filter: blur(4px);

/* Center contents using flexbox */
display: flex;
justify-content: center;  /* centers horizontally */
align-items: center;      /* centers vertically */
}


/* === Popup Box === */
#resetBox, 
#resetStep2 {
background: #fff;
padding: 25px 35px;
border-radius: 12px;
box-shadow: 0 8px 25px rgba(0,0,0,0.25);
width: 340px;
max-width: 90%;
text-align: center;
position: relative;
}

/* === Headings === */
#resetBox h3, 
#resetStep2 h3 {
margin-top: 0;
color: #333;
font-size: 20px;
font-weight: 600;
}

/* === Inputs === */
#resetBox input,
#resetStep2 input {
width: 100%;
padding: 10px 12px;
margin: 8px 0;
border: 1px solid #ccc;
border-radius: 6px;
font-size: 15px;
outline: none;
transition: border 0.2s ease;
}

#resetStep2 p{
margin:5px;
text-align:left;
}

#resetBox input:focus,
#resetStep2 input:focus {
border-color: #2a6bd4;  /* consistent blue accent */
}

/* === Buttons === */
#requestResetBtn,
#confirmResetBtn {
display: inline-block;
width: 100%;
padding: 10px;
background-color: #2a6bd4;
color: #fff;
border: none;
border-radius: 6px;
cursor: pointer;
font-size: 16px;
font-weight: 500;
margin-top: 8px;
transition: background-color 0.2s ease;
}

#requestResetBtn:hover,
#confirmResetBtn:hover {
background-color: #1f53a8;
}

/* === Messages === */
#resetMsg, 
#resetConfirmMsg {
font-size: 14px;
margin-top: 10px;
color: #d9534f; /* default red for errors */
}




.cancel-btn {
display: inline-block;
width: 100%;
margin-top: 8px;
padding: 10px;
background-color: #999;
color: #fff;
border: none;
border-radius: 6px;
cursor: pointer;
font-size: 15px;
font-weight: 500;
transition: background-color 0.2s ease;
}

.cancel-btn:hover {
background-color: #777;
}


/*staff popup section */

/* Overlay background */
.staff-popup {
display: none;
position: fixed;
z-index: 999;
top: 0;
left: 0;
width: 100%;
height: 100%;  
background: rgba(0,0,0,0.25);        /* translucent overlay */
backdrop-filter: blur(5px);          /* ✅ blur everything behind popup */
-webkit-backdrop-filter: blur(5px);  /* Safari support */
}

/* Popup container */
.staff-popup-content {
background: #fff;
width: 600px;
max-height: 70vh;           /* ✅ popup no taller than 70% of viewport */
margin: 10vh auto;
padding: 20px;
border-radius: 10px;
box-shadow: 0 4px 15px rgba(0,0,0,0.25);
font-family: Arial, sans-serif;
display: flex;
flex-direction: column;      /* enables proportional sections */
}

/* Header */
.staff-popup-content h3 {
margin-top: 0;
margin-bottom: 10px;
font-size: 16px;
color: #333;
}

/* Scrollable table area */
.staff-table {
width: 100%;
border-collapse: collapse;
margin-top: 5px;
overflow-y: auto;
overflow-x:hidden;
max-height: 50%;            /* ✅ table section capped at 50% of popup height */
display: block;             /* required to allow scroll on tbody */
}

/* Because table is display:block, adjust column widths */
.staff-table thead,
.staff-table tbody,
.staff-table tr {
display: table;
width: 100%;
table-layout: fixed;
}

.staff-table th, .staff-table td {
border: 1px solid #ddd;
padding: 6px 8px;
text-align: left;
}

/* --- Horizontal lines only --- */
.staff-table th, 
.staff-table td {
    border-bottom: 1px solid #ddd;    /* horizontal lines only */
    padding: 6px 8px;
    text-align: left;
}

.staff-table tbody {
	display: block;
max-height: 50%;            /* redundant safeguard */
overflow-y: auto;
overflow-x:hidden;
}

.staff-table tr:hover { background: #f0f8ff; cursor: pointer; }
.staff-table tr.selected { background: #cdeeff; }

/* Buttons */
.popup-buttons {
display: flex;
justify-content: center;   /* ✅ center horizontally */
gap: 15px;                 /* space between buttons */
margin-top: 15px;
padding-top: 10px;
border-top: 1px solid #eee;
}

.popup-buttons button {
min-width: 100px;
padding: 8px 14px;
border: none;
border-radius: 5px;
background-color: #2980b9;
color: white;
font-size: 14px;
cursor: pointer;
transition: background-color 0.2s;
}

.popup-buttons button:hover {
background-color: #1f6392;
}


