/* BLSMS — shared front-end & admin styling */

.blsms-notice { padding: 10px 14px; border-radius: 4px; margin: 0 0 16px; }
.blsms-notice-success { background: #ecfdf5; border: 1px solid #a7f3d0; color: #065f46; }
.blsms-notice-error { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; }
.blsms-notice-warning { background: #fffbeb; border: 1px solid #fde68a; color: #92400e; }

.blsms-logbook-reconcile-notice ul.blsms-logbook-reconcile-list { margin: 8px 0 10px 20px; list-style: disc; }
.blsms-logbook-reconcile-notice li { margin-bottom: 2px; }

.blsms-homepage-login-bar { background: #1f3763; color: #fff; text-align: center; padding: 6px 12px; font-size: 13px; }
.blsms-homepage-login-bar a { color: #fff; text-decoration: underline; }

.blsms-logbook-cross-link { background: #eef2f8; border: 1px solid #c7d3e6; border-radius: 4px; padding: 10px 14px; }

.blsms-admin-nav { background: #f1f5f9; border: 1px solid #e2e8f0; border-radius: 6px; padding: 8px 14px; margin: 0 0 18px; font-size: 13px; }
.blsms-admin-nav a { color: #1f3763; text-decoration: none; font-weight: 600; }
.blsms-admin-nav a:hover { text-decoration: underline; }
.blsms-admin-nav-current { color: #64748b; font-weight: 600; }

.blsms-report-wrap { max-width: 100%; }
.blsms-pagination { margin: 16px 0; }
.blsms-pagination .page-numbers { display: inline-block; padding: 5px 10px; margin-right: 4px; border: 1px solid #cbd5e1; border-radius: 4px; text-decoration: none; color: #1f3763; }
.blsms-pagination .page-numbers.current { background: #1f3763; color: #fff; border-color: #1f3763; }

.blsms-form .blsms-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 14px 18px;
	margin-bottom: 12px;
}
.blsms-field { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.blsms-field span { font-weight: 600; color: #334155; }
.blsms-field input, .blsms-field select, .blsms-field textarea {
	padding: 7px 9px; border: 1px solid #cbd5e1; border-radius: 4px; font-size: 14px;
}
.blsms-field-wide { grid-column: 1 / -1; }
.blsms-field-label { font-weight: 600; color: #334155; margin: 10px 0 4px; }

.blsms-checkbox { display: flex; align-items: center; gap: 8px; font-size: 13px; margin: 10px 0; }

.blsms-subsection { border: 1px dashed #cbd5e1; border-radius: 6px; padding: 12px 14px; margin: 10px 0 16px; background: #f8fafc; }

.blsms-catch-table { width: 100%; border-collapse: collapse; margin-bottom: 8px; }
.blsms-catch-table th, .blsms-catch-table td { padding: 4px 6px; text-align: left; }
.blsms-catch-table input { width: 100%; padding: 5px 7px; border: 1px solid #cbd5e1; border-radius: 4px; }
.blsms-catch-table input[type="number"] { max-width: 90px; }

.blsms-submit-row { margin-top: 16px; }

.blsms-table { border-collapse: collapse; width: 100%; font-size: 13px; }
.blsms-table th, .blsms-table td { border: 1px solid #e2e8f0; padding: 6px 8px; text-align: left; }
.blsms-table thead th { background: #f1f5f9; font-weight: 600; }
.blsms-table-dense th, .blsms-table-dense td { padding: 4px 6px; font-size: 12px; }
.blsms-table-scroll { overflow-x: auto; margin-bottom: 24px; }
.blsms-total-row td, .blsms-total-row th { background: #f8fafc; }
.blsms-section-row td { background: #e2e8f0; font-weight: 700; text-transform: uppercase; font-size: 11px; letter-spacing: .04em; }
.blsms-kv-table th { width: 50%; background: #f8fafc; font-weight: 600; }

.blsms-highlights { margin: 0 0 24px; padding-left: 20px; }
.blsms-highlights li { margin-bottom: 6px; line-height: 1.5; }

.blsms-stat-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 12px; margin-bottom: 20px; }
.blsms-stat-grid-compact { grid-template-columns: repeat(4, 1fr); gap: 8px; }
.blsms-stat-tile { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px; text-align: center; }
.blsms-stat-tile-alert { background: #fff7ed; border-color: #fed7aa; }
.blsms-stat-value { display: block; font-size: 26px; font-weight: 700; color: #0f172a; }
.blsms-stat-grid-compact .blsms-stat-value { font-size: 18px; }
.blsms-stat-label { font-size: 12px; color: #64748b; }

.blsms-dash-header { display: flex; justify-content: flex-end; margin-bottom: 8px; }
.blsms-dash-updated { font-size: 12px; color: #64748b; }
.blsms-dash-columns { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 24px; margin-bottom: 24px; }
.blsms-dash-col h4, .blsms-dash-col h3 { margin-top: 0; }

.blsms-filter-form { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0 18px; }
.blsms-filter-form label { display: flex; align-items: center; gap: 6px; font-size: 13px; }
.blsms-filter-form input, .blsms-filter-form select { padding: 5px 7px; border: 1px solid #cbd5e1; border-radius: 4px; }

.blsms-admin-form-card { background: #fff; border: 1px solid #e2e8f0; border-radius: 8px; padding: 18px 20px; margin-bottom: 24px; }

.blsms-site-checklist { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 6px 16px; margin-bottom: 12px; }

.blsms-danger-link { color: #b91c1c; }

.blsms-shortcode-list { line-height: 1.8; }

.blsms-sheet-meta { width: 100%; border-collapse: collapse; margin-bottom: 16px; }
.blsms-sheet-meta th, .blsms-sheet-meta td { border: 1px solid #e2e8f0; padding: 6px 10px; font-size: 13px; }
.blsms-sheet-meta th { background: #0f172a; color: #fff; text-align: left; width: 18%; }

.blsms-monthly-matrix { margin-bottom: 24px; }

.blsms-report-print-header { text-align: center; margin-bottom: 20px; }
.blsms-report-print-header h1 { margin-bottom: 2px; font-size: 20px; }
.blsms-report-print-header h2 { margin: 0 0 6px; font-size: 16px; font-weight: 600; }
.blsms-report-print-header p { color: #64748b; font-size: 13px; margin: 0; }

.blsms-comment-form textarea { margin-bottom: 8px; }
.print-only { display: none; }

.blsms-recent-heading { margin-top: 28px; }
.blsms-capture-wrap h3 { margin-top: 0; }

.blsms-widget-links { font-size: 12px; margin-top: 10px; }

.blsms-login-card { max-width: 360px; margin: 0 0 20px; }
.blsms-login-form .blsms-field { margin-bottom: 12px; }
.blsms-login-forgot { font-size: 12px; margin-top: 8px; }
.blsms-btn {
	display: inline-block; background: #0f172a; color: #fff; border: none;
	padding: 9px 18px; border-radius: 4px; font-size: 14px; font-weight: 600;
	cursor: pointer; text-decoration: none;
}
.blsms-btn:hover { background: #1e293b; color: #fff; }

.blsms-homepage-login-bar {
	background: #0f172a; color: #fff; text-align: right;
	padding: 6px 16px; font-size: 12px;
}
.blsms-homepage-login-bar a { color: #fff; text-decoration: underline; }

@media (max-width: 640px) {
	.blsms-stat-grid-compact { grid-template-columns: repeat(2, 1fr); }
}

@media print {
	.no-print, #adminmenumain, #wpadminbar, #wpfooter, .blsms-filter-form, #screen-meta-links, #screen-meta { display: none !important; }
	#wpcontent, #wpbody-content { margin: 0 !important; padding: 0 !important; }
	.blsms-report-wrap { max-width: 100% !important; }
	.print-only { display: block; }
	body { background: #fff !important; }
	.blsms-table-scroll { overflow: visible !important; }
	.blsms-table, .blsms-table th, .blsms-table td { font-size: 10px !important; }
}
