body { padding-bottom: 3rem; }
pre { white-space: pre-wrap; word-wrap: break-word; }
.navbar .navbar-text small { color: #e9ecef; }
.table td pre { margin: 0; font-size: .85em; }

/* Truncate long inline text like URLs in tables with an ellipsis */
.truncate,
.truncate-small {
	display: inline-block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	vertical-align: middle;
}

/* Allow table cells to shrink below their content so ellipsis can apply
   while keeping table-layout: auto so columns resize naturally. */
.table td, .table th { min-width: 0; overflow: hidden; }

/* Suggested width hints for URL truncation (doesn't force table layout) */
.truncate { max-width: 320px; }
.truncate-small { max-width: 240px; }

/* Make navbar/tab links show a pointer cursor for better affordance */
.navbar-nav .nav-link, .navbar .nav-link { cursor: pointer; }

/* Modal backdrop and dialog polish for the custom delete modal */
.modal-backdrop {
	/* semi-transparent dark backdrop instead of solid black */
	background-color: rgba(0,0,0,0.55) !important;
	/* keep display rules from markup; ensure it covers the viewport */
	position: fixed;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.modal-backdrop .card {
	/* subtle entrance */
	animation: aw-modal-in 160ms ease-out;
}

@keyframes aw-modal-in {
	from { transform: translateY(6px) scale(.995); opacity: 0; }
	to   { transform: translateY(0) scale(1); opacity: 1; }
}

/* Slightly dim the modal content border for separation */
.modal-backdrop .card { border: 1px solid rgba(0,0,0,0.08); }

/* CodeMirror editor styling */
#bodyCodeMirrorContainer .CodeMirror {
	height: auto;
	min-height: 180px;
	max-height: 400px;
	font-size: 13px;
	font-family: 'Consolas', 'Monaco', 'Lucida Console', monospace;
	border-radius: 0.375rem;
	border: 1px solid #44475a;
}

#bodyCodeMirrorContainer .CodeMirror-scroll {
	min-height: 180px;
	max-height: 400px;
}

/* Remove outer border from container since CodeMirror has its own */
#bodyCodeMirrorContainer {
	border: none !important;
}

/* Make sure long pages don't scroll behind the modal */
body.modal-open { overflow: hidden; }
