/**
 * Dwarpal Admin Styles
 *
 * @package Dwarpal
 * @since 1.0.0
 */

/* Main Container - clear, visible typography */
.dwarpal-wrap {
	max-width: 1400px;
	margin: 20px auto;
	padding: 0 20px;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, sans-serif;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Dashboard Widgets */
.dwarpal-dashboard {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	margin: 20px 0;
}

/* 2 Column Dashboard Layout (Scan | Status) */
.dwarpal-dashboard-2col {
	grid-template-columns: 1fr 400px;
	gap: 28px;
	align-items: start;
}

.dwarpal-dashboard-wrap .dwarpal-dashboard {
	margin-top: 24px;
}

/* 2-column dashboard: all widgets distributed equally in 2 columns */
.dwarpal-dashboard-2col-equal {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-top: 20px;
	align-items: stretch;
}

.dwarpal-dashboard-2col-equal .dwarpal-widget {
	min-width: 0;
}

/* Combined Notifications + Support box: same row as System Information, equal height */
.dwarpal-widget-notifications-support {
	display: flex;
	flex-direction: column;
	gap: 0;
}

.dwarpal-widget-notifications-support .dwarpal-widget-section {
	padding: 0;
	border: none;
	background: transparent;
	box-shadow: none;
}

.dwarpal-widget-notifications-support .dwarpal-widget-section:first-child {
	padding-bottom: 14px;
	border-bottom: 1px solid #eee;
	margin-bottom: 12px;
}

.dwarpal-widget-notifications-support .dwarpal-widget-section .dwarpal-widget-title {
	margin: 0 0 8px 0;
	padding-bottom: 8px;
}

.dwarpal-scan-tagline {
	margin: 0 0 10px 0;
	font-size: 13px;
	font-weight: 600;
	color: #2c3338;
	line-height: 1.35;
}

.dwarpal-scan-box-actions {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin-bottom: 12px;
}

/* Scrollable feature list so all scan steps stay reachable */
.dwarpal-scan-features-list.dwarpal-scan-features-list-compact {
	max-height: min(420px, 55vh);
	overflow-y: auto;
	overflow-x: hidden;
	border: 1px solid #c3c4c7;
	border-radius: 6px;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
	scrollbar-width: thin;
	scrollbar-color: #2271b1 #e8eef5;
}

.dwarpal-scan-features-list.dwarpal-scan-features-list-compact::-webkit-scrollbar {
	width: 8px;
}

.dwarpal-scan-features-list.dwarpal-scan-features-list-compact::-webkit-scrollbar-track {
	background: #e8eef5;
	border-radius: 0 6px 6px 0;
}

.dwarpal-scan-features-list.dwarpal-scan-features-list-compact::-webkit-scrollbar-thumb {
	background: #2271b1;
	border-radius: 4px;
}

.dwarpal-scan-features-list-compact .dwarpal-scan-feature-row {
	padding: 8px 12px;
	min-height: 38px;
}

.dwarpal-scan-features-list-compact .dwarpal-scan-feature-name {
	font-size: 13px;
}

.dwarpal-scan-features-list-compact .dwarpal-scan-row-progress {
	max-width: 180px;
}

@media (max-width: 1024px) {
	.dwarpal-dashboard-2col-equal {
		grid-template-columns: 1fr;
	}
}

.dwarpal-dashboard-right {
	display: flex;
	flex-direction: column;
	gap: 24px;
}

@media (max-width: 1200px) {
	.dwarpal-dashboard-2col {
		grid-template-columns: 1fr;
	}
}

/* Widget titles - compact, no blank space */
.dwarpal-widget-title {
	margin: 0 0 8px 0;
	padding-bottom: 10px;
	border-bottom: 2px solid #2271b1;
	font-size: 1.12rem;
	font-weight: 700;
	color: #1d2327;
	letter-spacing: -0.01em;
}

.dwarpal-widget-desc {
	margin: 0 0 12px 0;
	font-size: 14px;
	font-weight: 500;
	color: #2c3338;
	line-height: 1.4;
}

.dwarpal-action-buttons {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
	margin-bottom: 20px;
}

/* Scan status box - compact */
.dwarpal-scan-status-box {
	margin-bottom: 12px;
	padding: 12px 14px;
	background: #f0f6fc;
	border: 1px solid #c5d9ed;
	border-radius: 6px;
}

.dwarpal-scan-current-step {
	margin: 0 0 6px 0;
	font-size: 14px;
	font-weight: 800;
	color: #2271b1;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.dwarpal-scan-current-step:empty {
	display: none;
}

.dwarpal-scan-status-text {
	margin: 0 0 10px 0;
	font-size: 14px;
	font-weight: 700;
	color: #1d2327;
	line-height: 1.4;
}

.dwarpal-scan-status-box.dwarpal-scan-status-error {
	background: #fef0f1;
	border-color: #f1aeb5;
}

.dwarpal-scan-status-box.dwarpal-scan-status-error .dwarpal-scan-status-text {
	color: #b32d2e;
}

.dwarpal-scan-progress {
	margin: 0 0 4px 0;
	height: 8px;
	background: #e5e5e5;
	border-radius: 4px;
	overflow: hidden;
}

.dwarpal-scan-progress-bar {
	height: 100%;
	width: 0%;
	background: linear-gradient(90deg, #2271b1 0%, #135e96 100%);
	transition: width 0.35s ease;
}

.dwarpal-scan-progress-text {
	margin: 0;
	font-size: 12px;
	color: #2c3338;
	font-weight: 700;
}

/* Scan feature list - one row per feature with per-row progress bar */
.dwarpal-scan-features-list {
	border: 2px solid #1d2327;
	border-radius: 8px;
	background: #fff;
}

.dwarpal-scan-feature-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 18px;
	border-bottom: 1px solid #dcdcde;
	background: #fff;
	min-height: 52px;
}

.dwarpal-scan-feature-row:last-child {
	border-bottom: none;
}

.dwarpal-scan-feature-row.dwarpal-scanning {
	background: #f0f6fc;
	border-left: 4px solid #2271b1;
}

.dwarpal-scan-feature-row.dwarpal-done {
	background: #f6f7f7;
}

.dwarpal-scan-feature-left {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.dwarpal-scan-feature-name {
	font-weight: 700;
	font-size: 15px;
	color: #1d2327;
	-webkit-font-smoothing: antialiased;
}

.dwarpal-scan-row-progress {
	display: none;
	height: 6px;
	background: #c5d9ed;
	border-radius: 3px;
	overflow: hidden;
	max-width: 280px;
}

.dwarpal-scan-feature-row.dwarpal-scanning .dwarpal-scan-row-progress {
	display: block;
}

.dwarpal-scan-row-progress-bar {
	height: 100%;
	width: 40%;
	background: #2271b1;
	border-radius: 3px;
	animation: dwarpal-scan-row-progress 1.2s ease-in-out infinite;
}

@keyframes dwarpal-scan-row-progress {
	0% { transform: translateX(-100%); }
	100% { transform: translateX(350%); }
}

.dwarpal-scan-feature-result {
	font-size: 14px;
	font-weight: 600;
	text-align: right;
	flex-shrink: 0;
	-webkit-font-smoothing: antialiased;
}

.dwarpal-scan-pending {
	color: #787c82;
	font-weight: 600;
}

.dwarpal-scan-scanning {
	color: #2271b1;
	font-weight: 700;
}

.dwarpal-scan-result-ok {
	color: #00a32a;
	font-weight: 700;
}

.dwarpal-scan-result-warn {
	color: #dba617;
	font-weight: 700;
}

.dwarpal-scan-result-error {
	color: #d63638;
	font-weight: 700;
}

.dwarpal-scan-report-link {
	font-weight: 700;
	margin-left: 6px;
}

/* Always-visible full report link in Dwarpal Setup */
.dwarpal-scan-list-hint {
	margin: 8px 0 0 0;
	font-size: 12px;
	color: #646970;
	line-height: 1.35;
}

.dwarpal-scan-report-inline {
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid #dcdcde;
}

.dwarpal-scan-inline-title {
	margin: 0 0 10px 0;
	font-size: 14px;
	font-weight: 800;
	color: #1d2327;
}

.dwarpal-scan-inline-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

@media (max-width: 1200px) {
	.dwarpal-scan-inline-grid {
		grid-template-columns: 1fr;
	}
}

.dwarpal-scan-inline-card {
	padding: 12px 12px;
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	text-decoration: none;
	color: inherit;
}

.dwarpal-scan-inline-card:hover {
	border-color: #2271b1;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.06);
}

.dwarpal-scan-inline-card-title {
	font-weight: 800;
	margin: 0 0 6px 0;
	font-size: 13px;
}

.dwarpal-scan-inline-card-meta {
	margin: 0;
	font-size: 12px;
	color: #646970;
}

.dwarpal-scan-inline-suggestions {
	margin-top: 12px;
	padding: 12px 12px;
	background: #f0f6fc;
	border: 1px solid #c5d9ed;
	border-radius: 8px;
}

.dwarpal-scan-inline-suggestions h4 {
	margin: 0 0 8px 0;
	font-size: 13px;
	font-weight: 800;
	color: #1d2327;
}

.dwarpal-scan-inline-suggestions ul {
	margin: 0 0 0 18px;
}

.dwarpal-scan-inline-suggestions li {
	margin: 6px 0;
	font-size: 12px;
}

.dwarpal-scan-inline-suggestions a {
	font-weight: 700;
}

.dwarpal-rec-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0 10px 0;
}

.dwarpal-rec-filter {
	border: 1px solid #c5d9ed;
	background: #fff;
	color: #1d2327;
	padding: 6px 10px;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
}

.dwarpal-rec-filter.is-active {
	background: #2271b1;
	border-color: #2271b1;
	color: #fff;
}

.dwarpal-rec-list {
	margin: 0 0 0 18px;
}

.dwarpal-rec-item {
	margin: 8px 0;
	font-size: 12px;
}

.dwarpal-rec-pill {
	display: inline-block;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.03em;
	vertical-align: middle;
}

.dwarpal-rec-pill-high { background: #fef0f1; color: #b32d2e; border: 1px solid #f1aeb5; }
.dwarpal-rec-pill-medium { background: #fff8e5; color: #8a5a00; border: 1px solid #f1d28a; }
.dwarpal-rec-pill-low { background: #ecfdf5; color: #1e4620; border: 1px solid #a7f3d0; }

.dwarpal-scan-full-report-link {
	margin: 12px 0 0 0;
	padding-top: 10px;
	border-top: 1px solid #dcdcde;
}

.dwarpal-scan-report-link-block {
	display: inline-block;
	padding: 8px 14px;
	font-size: 13px;
	font-weight: 700;
	color: #fff;
	background: #2271b1;
	border-radius: 6px;
	text-decoration: none;
}

.dwarpal-scan-report-link-block:hover {
	background: #135e96;
	color: #fff;
	text-decoration: none;
}

/* Full report page: show full content without inner scroll */
.dwarpal-scan-report-content > div {
	max-height: none !important;
	overflow: visible !important;
}

.dwarpal-info-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
	font-weight: 600;
}

.dwarpal-info-table th {
	text-align: left;
	padding: 4px 0;
	color: #2c3338;
	font-weight: 700;
}

.dwarpal-info-table td {
	padding: 4px 0 4px 12px;
	color: #1d2327;
	font-weight: 600;
}

/* System Information: 4 sections on dashboard - compact */
.dwarpal-widget-system-four .dwarpal-sys-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	margin-bottom: 8px;
}

@media (max-width: 640px) {
	.dwarpal-widget-system-four .dwarpal-sys-grid {
		grid-template-columns: 1fr;
	}
}

.dwarpal-sys-block {
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	background: #fafafa;
	padding: 8px 10px;
}

.dwarpal-sys-block-title {
	margin: 0 0 6px 0;
	padding-bottom: 6px;
	border-bottom: 1px solid #dcdcde;
	font-size: 12px;
	font-weight: 700;
	color: #1d2327;
}

.dwarpal-sys-table {
	font-size: 12px;
}

.dwarpal-sys-table th {
	padding: 4px 0;
	font-weight: 600;
	width: 45%;
}

.dwarpal-sys-table td {
	padding: 4px 0 4px 10px;
}

.dwarpal-sys-ok {
	color: #00a32a;
	font-weight: 600;
}

.dwarpal-sys-warn {
	color: #dba617;
	font-weight: 600;
}

.dwarpal-features-overview {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 13px;
	font-weight: 600;
}

.dwarpal-features-overview li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 5px 0;
	border-bottom: 1px solid #e5e5e5;
	font-size: 13px;
}

.dwarpal-features-overview li:last-child {
	border-bottom: none;
}

.dwarpal-feature-status {
	font-size: 13px;
	font-weight: 700;
	padding: 4px 10px;
	border-radius: 4px;
}

.dwarpal-status-on {
	background: #00a32a;
	color: #fff;
}

.dwarpal-status-off {
	background: #d63638;
	color: #fff;
}

/* 4 Column Dashboard Layout */
.dwarpal-dashboard-4col {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 1400px) {
	.dwarpal-dashboard-4col {
		grid-template-columns: repeat(2, 1fr);
	}
}

.dwarpal-widget {
	background: #fff;
	border: 1px solid #c3c4c7;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0,0,0,.06);
	padding: 16px 18px;
}

.dwarpal-widget h2 {
	margin-top: 0;
	padding-bottom: 10px;
	border-bottom: 2px solid #2271b1;
	color: #1d2327;
	font-size: 1.15rem;
	font-weight: 700;
}

/* Security Score widget - prominent card */
.dwarpal-widget-score {
	text-align: center;
	background: linear-gradient(160deg, #f0f6fc 0%, #fff 60%);
	border-color: #2271b1;
}

.dwarpal-score-value {
	margin: 6px 0 4px 0;
}

.dwarpal-score-number {
	font-size: 2.5rem;
	font-weight: 800;
	color: #2271b1;
	line-height: 1.2;
}

.dwarpal-score-max {
	font-size: 1.1rem;
	font-weight: 600;
	color: #2c3338;
}

.dwarpal-score-note {
	margin: 0;
	font-size: 13px;
	font-weight: 500;
	color: #2c3338;
}

/* Quick Stats list - compact */
.dwarpal-stats-list {
	margin: 0;
	padding-left: 18px;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.6;
	color: #1d2327;
}

.dwarpal-widget-actions {
	margin: 10px 0 0 0;
	padding-top: 10px;
	border-top: 1px solid #eee;
}

/* New Notifications box */
.dwarpal-notifications-list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 14px;
	font-weight: 600;
}

.dwarpal-notifications-list li {
	padding: 5px 0;
	border-bottom: 1px solid #f0f0f1;
	font-size: 13px;
}

.dwarpal-notifications-list li:last-child {
	border-bottom: none;
}

.dwarpal-notif-ok { color: #00a32a; }
.dwarpal-notif-warn { color: #dba617; }
.dwarpal-notif-info { color: #2271b1; }

/* Quicklinks box */
.dwarpal-quicklinks-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px 10px;
}

.dwarpal-quicklinks-list li {
	margin: 0;
	padding: 0;
	border-bottom: none;
}

.dwarpal-quicklinks-list li:last-child {
	border-bottom: none;
}

.dwarpal-quicklinks-list a {
	display: block;
	padding: 4px 0;
	font-size: 13px;
	font-weight: 600;
	color: #2271b1;
	text-decoration: none;
}

.dwarpal-quicklinks-list a:hover {
	color: #135e96;
	text-decoration: underline;
}

/* Support & Documentation box */
.dwarpal-support-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dwarpal-support-list li {
	margin: 0;
	padding: 4px 0;
	border-bottom: 1px solid #f0f0f1;
}

.dwarpal-support-list li:last-child {
	border-bottom: none;
}

.dwarpal-support-list a {
	display: block;
	padding: 2px 0;
	font-size: 13px;
	font-weight: 600;
	color: #2271b1;
	text-decoration: none;
}

.dwarpal-support-list a:hover {
	color: #135e96;
	text-decoration: underline;
}

.dwarpal-widget h3 {
	margin-top: 0;
	color: #1d2327;
	font-size: 16px;
	font-weight: 600;
}

/* Status Badges */
.dwarpal-status {
	display: inline-block;
	padding: 4px 12px;
	border-radius: 3px;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
}

.dwarpal-status-success {
	background: #00a32a;
	color: #fff;
}

.dwarpal-status-warning {
	background: #dba617;
	color: #fff;
}

.dwarpal-status-error {
	background: #d63638;
	color: #fff;
}

.dwarpal-status-info {
	background: #2271b1;
	color: #fff;
}

/* Stats Cards */
.dwarpal-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 15px;
	margin: 20px 0;
}

.dwarpal-stat-card {
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	color: #fff;
	padding: 20px;
	border-radius: 8px;
	box-shadow: 0 4px 6px rgba(0,0,0,0.1);
	text-align: center;
}

.dwarpal-stat-card h3 {
	color: #fff;
	margin: 0 0 10px 0;
	font-size: 14px;
	opacity: 0.9;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.dwarpal-stat-card .stat-value {
	font-size: 36px;
	font-weight: 700;
	margin: 10px 0;
}

.dwarpal-stat-card.stat-success {
	background: linear-gradient(135deg, #11998e 0%, #38ef7d 100%);
}

.dwarpal-stat-card.stat-warning {
	background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%);
}

.dwarpal-stat-card.stat-danger {
	background: linear-gradient(135deg, #fa709a 0%, #fee140 100%);
}

.dwarpal-stat-card.stat-info {
	background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
}

/* Action Buttons */
.dwarpal-action-buttons {
	display: flex;
	gap: 10px;
	margin: 15px 0;
	flex-wrap: wrap;
}

.dwarpal-btn {
	display: inline-block;
	padding: 10px 20px;
	border-radius: 6px;
	text-decoration: none;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
	border: none;
	transition: all 0.2s ease;
}

.dwarpal-btn-primary {
	background: #2271b1;
	color: #fff;
}

.dwarpal-btn-primary:hover {
	background: #135e96;
	color: #fff;
}

.dwarpal-btn-success {
	background: #00a32a;
	color: #fff;
}

.dwarpal-btn-success:hover {
	background: #008a20;
	color: #fff;
}

.dwarpal-btn-danger {
	background: #d63638;
	color: #fff;
}

.dwarpal-btn-danger:hover {
	background: #b32d2e;
	color: #fff;
}

.dwarpal-btn-warning {
	background: #dba617;
	color: #fff;
}

.dwarpal-btn-warning:hover {
	background: #c29500;
	color: #fff;
}

.dwarpal-btn-sm {
	padding: 4px 8px;
	font-size: 11px;
}

/* Logs Table */
.dwarpal-logs-table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
}

.dwarpal-logs-table th {
	background: #f6f7f7;
	padding: 12px;
	text-align: left;
	font-weight: 600;
	border-bottom: 2px solid #ccd0d4;
}

.dwarpal-logs-table td {
	padding: 12px;
	border-bottom: 1px solid #ccd0d4;
}

.dwarpal-logs-table tr:hover {
	background: #f6f7f7;
}

/* Full-page compact log list (Security Logs & Live Traffic) */
.dwarpal-logs-page,
.dwarpal-traffic-page {
	max-width: 100%;
}

.dwarpal-logs-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 12px;
	padding: 8px 0;
	border-bottom: 1px solid #dcdcde;
	font-size: 13px;
}

.dwarpal-logs-summary {
	color: #646970;
	font-weight: 600;
}

.dwarpal-log-lines {
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #fff;
	overflow: hidden;
}

.dwarpal-log-line {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 12px;
	padding: 6px 10px;
	font-size: 12px;
	line-height: 1.35;
	border-bottom: 1px solid #f0f0f1;
	min-height: 32px;
}

.dwarpal-log-line:last-child {
	border-bottom: none;
}

.dwarpal-log-line:hover {
	background: #f6f7f7;
}

.dwarpal-log-line-critical {
	background: #fef0f1;
}

.dwarpal-log-line-critical:hover {
	background: #fce8e9;
}

.dwarpal-log-date {
	flex-shrink: 0;
	width: 90px;
	color: #646970;
}

.dwarpal-log-type {
	flex-shrink: 0;
	width: 100px;
	font-size: 11px;
	font-weight: 600;
	padding: 2px 6px;
	border-radius: 3px;
}

.dwarpal-log-type-error {
	background: #f1aeb5;
	color: #5c1819;
}

.dwarpal-log-type-warn {
	background: #f0c674;
	color: #5c3c00;
}

.dwarpal-log-ip {
	flex-shrink: 0;
	width: 110px;
}

.dwarpal-log-ip code {
	font-size: 11px;
	padding: 2px 4px;
}

.dwarpal-log-msg,
.dwarpal-log-uri {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #1d2327;
}

.dwarpal-log-actions {
	display: flex;
	flex-shrink: 0;
	gap: 4px;
	align-items: center;
}

.dwarpal-log-form {
	display: inline;
	margin: 0;
}

.dwarpal-log-btn {
	padding: 2px 8px;
	font-size: 11px;
	font-weight: 600;
	border: 1px solid #c3c4c7;
	border-radius: 3px;
	background: #f6f7f7;
	cursor: pointer;
}

.dwarpal-log-btn:hover {
	background: #e5e5e5;
}

.dwarpal-log-btn-block { color: #b32d2e; border-color: #f1aeb5; background: #fef0f1; }
.dwarpal-log-btn-allow { color: #00a32a; border-color: #8dd4a0; background: #ecfdf5; }
.dwarpal-log-btn-fix { color: #2271b1; border-color: #72aee6; background: #f0f6fc; }
.dwarpal-log-btn-del { color: #646970; }

.dwarpal-log-method {
	flex-shrink: 0;
	width: 44px;
	text-align: center;
}

.dwarpal-log-status {
	flex-shrink: 0;
	width: 36px;
	text-align: center;
}

.dwarpal-log-user {
	flex-shrink: 0;
	width: 72px;
	color: #646970;
}

.dwarpal-traffic-type-human { color: #00a32a; font-weight: 600; }
.dwarpal-traffic-type-bot { color: #dba617; font-weight: 600; }
.dwarpal-traffic-type-unknown { color: #646970; }

.dwarpal-log-pagination {
	margin-top: 12px;
	padding: 8px 0;
	text-align: center;
}

.dwarpal-log-pagination .page-numbers {
	display: inline-block;
	padding: 4px 10px;
	margin: 0 2px;
	font-size: 13px;
}

.dwarpal-no-logs {
	margin: 20px 0;
	color: #646970;
	font-size: 14px;
}

/* Dashboard: Security Logs & Live Traffic (5 lines + link) */
.dwarpal-widget-dash-logs .dwarpal-widget-actions,
.dwarpal-widget-dash-traffic .dwarpal-widget-actions {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid #eee;
}

.dwarpal-widget-dash-logs .dwarpal-widget-actions a,
.dwarpal-widget-dash-traffic .dwarpal-widget-actions a {
	font-size: 13px;
	font-weight: 600;
	color: #2271b1;
	text-decoration: none;
}

.dwarpal-widget-dash-logs .dwarpal-widget-actions a:hover,
.dwarpal-widget-dash-traffic .dwarpal-widget-actions a:hover {
	text-decoration: underline;
}

.dwarpal-dash-log-lines {
	border: 1px solid #e5e5e5;
	border-radius: 4px;
	background: #fafafa;
	overflow: hidden;
}

.dwarpal-dash-log-line {
	display: flex;
	align-items: center;
	gap: 6px;
	padding: 3px 8px;
	font-size: 11px;
	line-height: 1.3;
	border-bottom: 1px solid #eee;
	min-height: 24px;
}

.dwarpal-dash-log-line:last-child {
	border-bottom: none;
}

.dwarpal-dash-log-date {
	flex-shrink: 0;
	width: 68px;
	color: #646970;
}

.dwarpal-dash-log-type {
	flex-shrink: 0;
	width: 82px;
	font-weight: 600;
	color: #1d2327;
}

.dwarpal-dash-log-ip {
	flex-shrink: 0;
	width: 92px;
}

.dwarpal-dash-log-ip code {
	font-size: 10px;
	padding: 1px 4px;
}

.dwarpal-dash-log-msg,
.dwarpal-dash-log-uri {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	color: #50575e;
}

.dwarpal-dash-log-method {
	flex-shrink: 0;
	width: 36px;
	text-align: center;
}

.dwarpal-dash-log-status {
	flex-shrink: 0;
	width: 28px;
	text-align: center;
}

.dwarpal-dash-no-entries {
	margin: 0;
	padding: 8px 0;
	color: #646970;
	font-size: 12px;
}

/* Fix Options */
.dwarpal-fix-options {
	background: #f0f6fc;
	border-left: 4px solid #2271b1;
	padding: 15px;
	margin: 15px 0;
	border-radius: 4px;
}

.dwarpal-fix-options h4 {
	margin-top: 0;
	color: #2271b1;
}

.dwarpal-fix-options ul {
	margin: 10px 0;
	padding-left: 20px;
}

.dwarpal-fix-options li {
	margin: 8px 0;
}

/* Security Score */
.dwarpal-security-score {
	text-align: center;
	padding: 30px;
	background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
	border-radius: 8px;
	color: #fff;
	margin: 20px 0;
}

.dwarpal-security-score .score-value {
	font-size: 72px;
	font-weight: 700;
	margin: 20px 0;
	text-shadow: 2px 2px 4px rgba(0,0,0,0.2);
}

.dwarpal-security-score .score-label {
	font-size: 18px;
	opacity: 0.9;
	text-transform: uppercase;
	letter-spacing: 2px;
}

/* Tabs */
.dwarpal-tabs {
	border-bottom: 2px solid #ccd0d4;
	margin: 20px 0;
}

.dwarpal-tabs ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

.dwarpal-tabs li {
	margin: 0;
}

.dwarpal-tabs a {
	display: block;
	padding: 12px 20px;
	text-decoration: none;
	color: #50575e;
	border-bottom: 3px solid transparent;
	transition: all 0.3s ease;
}

.dwarpal-tabs a:hover {
	color: #2271b1;
	border-bottom-color: #2271b1;
}

.dwarpal-tabs a.active {
	color: #2271b1;
	border-bottom-color: #2271b1;
	font-weight: 600;
}

.dwarpal-tab-content {
	padding: 20px 0;
}

/* Alert Boxes */
.dwarpal-alert {
	padding: 15px;
	border-radius: 4px;
	margin: 15px 0;
	border-left: 4px solid;
}

.dwarpal-alert-success {
	background: #ecfdf5;
	border-color: #00a32a;
	color: #1e4620;
}

.dwarpal-alert-warning {
	background: #fef7e8;
	border-color: #dba617;
	color: #5c3c00;
}

.dwarpal-alert-error {
	background: #fef0f1;
	border-color: #d63638;
	color: #5c1819;
}

.dwarpal-alert-info {
	background: #f0f6fc;
	border-color: #2271b1;
	color: #0c4a6e;
}

/* Progress Bars */
.dwarpal-progress {
	width: 100%;
	height: 20px;
	background: #f0f0f1;
	border-radius: 10px;
	overflow: hidden;
	margin: 10px 0;
}

.dwarpal-progress-bar {
	height: 100%;
	background: linear-gradient(90deg, #2271b1 0%, #135e96 100%);
	transition: width 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 11px;
	font-weight: 600;
}

/* Responsive */
@media (max-width: 782px) {
	.dwarpal-header {
		align-items: flex-start;
	}

	.dwarpal-header-logo {
		width: 32px;
		height: 32px;
	}

	.dwarpal-header-title h1 {
		font-size: 18px;
	}

	.dwarpal-header-title p {
		font-size: 12px;
	}

	.dwarpal-dashboard {
		grid-template-columns: 1fr;
	}
	
	.dwarpal-stats {
		grid-template-columns: 1fr;
	}
	
	.dwarpal-action-buttons {
		flex-direction: column;
	}
	
	.dwarpal-btn {
		width: 100%;
		text-align: center;
	}
}

/* Loading Spinner */
.dwarpal-spinner {
	border: 3px solid #f3f3f3;
	border-top: 3px solid #2271b1;
	border-radius: 50%;
	width: 30px;
	height: 30px;
	animation: dwarpal-spin 1s linear infinite;
	display: inline-block;
	margin: 10px;
}

@keyframes dwarpal-spin {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

/* Tooltips */
.dwarpal-tooltip {
	position: relative;
	cursor: help;
}

.dwarpal-tooltip:hover::after {
	content: attr(data-tooltip);
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	background: #1d2327;
	color: #fff;
	padding: 8px 12px;
	border-radius: 4px;
	font-size: 12px;
	white-space: nowrap;
	z-index: 1000;
	margin-bottom: 5px;
}

.dwarpal-tooltip:hover::before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 50%;
	transform: translateX(-50%);
	border: 5px solid transparent;
	border-top-color: #1d2327;
	margin-bottom: -5px;
	z-index: 1000;
}

/* Admin Menu Icon (Dwarpal) - Emoji Shield */
#adminmenu #toplevel_page_dwarpal .wp-menu-image::before,
#adminmenu .toplevel_page_dwarpal .wp-menu-image::before {
	content: "🛡️";
	font-size: 20px;
	line-height: 1.2;
	padding: 0;
	margin: 0;
	display: block;
	width: 20px;
	height: 20px;
	text-align: center;
	vertical-align: middle;
	font-style: normal;
	font-weight: normal;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

#adminmenu #toplevel_page_dwarpal .wp-menu-image img,
#adminmenu .toplevel_page_dwarpal .wp-menu-image img {
	display: none !important;
}

/* Ensure proper spacing */
#adminmenu #toplevel_page_dwarpal .wp-menu-image,
#adminmenu .toplevel_page_dwarpal .wp-menu-image {
	width: 20px;
	height: 20px;
	line-height: 1;
	padding: 8px 0;
	text-align: center;
}

/* Dashboard Header with Logo */
.dwarpal-header {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 20px;
}

.dwarpal-header-logo {
	width: 360px; /* desktop: big, clear logo */
	height: auto;
	max-width: 100%;
	object-fit: contain;
	border-radius: 4px;
}

.dwarpal-header-title {
	display: flex;
	flex-direction: column;
}

.dwarpal-header-title h1 {
	margin: 0;
	font-size: 26px;
	font-weight: 800;
	color: #1d2327;
}

.dwarpal-header-title p {
	margin: 6px 0 0 0;
	font-size: 15px;
	font-weight: 600;
	color: #2c3338;
}

/* Footer */
.dwarpal-footer {
	margin-top: 30px;
	padding: 15px 0;
	border-top: 1px solid #dcdcde;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 12px;
	color: #646970;
}

.dwarpal-footer-left {
	display: flex;
	align-items: center;
	gap: 8px;
}

.dwarpal-footer-left img {
	width: 24px;
	height: 24px;
	object-fit: contain;
	border-radius: 3px;
}

.dwarpal-footer-right {
	display: flex;
	gap: 8px;
}

