@charset "utf-8";

/* ---- Content area override ---- */
.content {
	padding: 20px;
	max-width: 1100px;
	margin: 0 auto;
}

/* ---- Nav user display ---- */
.nav_user {
	margin-left: auto;
	color: #fff;
	font-size: 13px;
	padding: 2px 12px;
	align-self: center;
}

/* ---- Forms ---- */
.form-row {
	display: flex;
	align-items: center;
	margin-bottom: 10px;
	gap: 8px;
	clear: both;
}
.form-row label {
	min-width: 160px;
	font-weight: bold;
	text-align: right;
}
.form-row input[type="text"],
.form-row input[type="email"],
.form-row input[type="password"],
.form-row input[type="number"],
.form-row input[type="date"],
.form-row select {
	padding: 5px 8px;
	border: 1px solid #b0b8c1;
	border-radius: 3px;
	font-size: 14px;
	min-width: 200px;
}
.form-row input[type="checkbox"] {
	width: 18px;
	height: 18px;
}
.hint {
	color: #777;
	font-size: 12px;
}

/* ---- Buttons ---- */
button, a.btn {
	display: inline-block;
	padding: 6px 14px;
	background: #0ABAB5;
	color: #fff;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	font-size: 14px;
	text-decoration: none;
}
button:hover, a.btn:hover { background: #089490; }

.btn-danger { background: #c0392b; }
.btn-danger:hover { background: #a93226; }

.btn-sm {
	padding: 3px 8px;
	font-size: 12px;
}
button:disabled {
	background: #aaa;
	cursor: not-allowed;
}

/* ---- Tables ---- */
.data-table {
	width: 100%;
	border-collapse: collapse;
	margin-top: 10px;
	background: #fff;
}
.data-table th,
.data-table td {
	border: 1px solid #d0d6de;
	padding: 6px 10px;
	text-align: left;
	vertical-align: top;
}
.data-table th {
	background: #0ABAB5;
	color: #fff;
	font-weight: bold;
}
.data-table tr:nth-child(even) { background: #f0fdfc; }
.data-table tr:hover { background: #c6f7f5; }
.data-table td a { color: #089490; }

.detail-table {
	border-collapse: collapse;
	background: #fff;
}
.detail-table th,
.detail-table td {
	border: 1px solid #d0d6de;
	padding: 6px 12px;
	text-align: left;
	vertical-align: top;
}
.detail-table th {
	background: #e0f7f6;
	font-weight: bold;
	width: 170px;
	white-space: nowrap;
}

/* ---- Messages ---- */
.msg {
	display: none;
	padding: 8px 14px;
	margin: 10px 0;
	border-radius: 3px;
	font-weight: bold;
	clear: both;
}
.msg-ok    { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.msg-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }

/* ---- Toolbar ---- */
.list-toolbar {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
	clear: both;
}

/* ---- Edit panel ---- */
.edit-panel {
	background: #fff;
	border: 1px solid #b2e8e6;
	border-radius: 4px;
	padding: 20px;
	margin-top: 20px;
	max-width: 520px;
}
.edit-panel h3 { margin-top: 0; color: #0ABAB5; }

/* ---- Home menu grid ---- */
.menu-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 20px;
	margin-top: 10px;
	clear: both;
}
.menu-section {
	background: #fff;
	border: 1px solid #b2e8e6;
	border-radius: 4px;
	padding: 16px 20px;
}
.menu-section h3 {
	margin: 0 0 8px;
	font-size: 16px;
	color: #0ABAB5;
	padding: 0;
}
.menu-section p {
	margin: 0 0 14px;
	color: #555;
	font-size: 13px;
	padding: 0;
}

/* ---- Misc ---- */
.pre-wrap {
	white-space: pre-wrap;
	word-break: break-all;
	margin: 0;
	font-family: monospace;
	font-size: 13px;
}
.msg-cell {
	min-width: 280px;
	max-width: 520px;
	white-space: pre-wrap;
	word-break: break-word;
}
.current-row td { background: #fef9e7; }

h2 { color: #0ABAB5; margin-top: 12px; padding-left: 0; }
h3 { color: #0ABAB5; padding-left: 0; }
h4 { color: #089490; padding-left: 0; }
