/* ========== Doctor Dashboard ========== */

.floating-cta-container {
	display: none !important;
}
body.page-template-page-doctor-dashboard {
	padding-bottom: 0 !important;
}
body.page-template-page-doctor-dashboard header {
	display: none !important;
}
body.page-template-page-doctor-dashboard footer {
	display: none !important;
}


/* Layout */
.dd-wrap {
	display: flex;
	gap: 30px;
	min-height: 70vh;
	padding: 30px 40px !important;
}
.dd-sidebar {
	width: 260px;
	flex-shrink: 0;
}
.dd-main {
	flex: 1;
	min-width: 0;
}

/* Sidebar */
.dd-sidebar-inner {
	background: #fff;
	border-radius: 16px;
	border: 1px solid #DEE4EA;
	padding: 24px 16px;
	position: sticky;
	top: 100px;
}
.dd-sidebar-doc {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 20px;
	margin-bottom: 12px;
	border-bottom: 1px solid #DEE4EA;
}
.dd-sidebar-doc strong {
	display: block;
	font-size: 15px;
	color: #1a1a1a;
}
.dd-sidebar-role {
	display: block;
	font-size: 12px;
	color: #9FA7AE;
}
.dd-avatar,
.dd-patient-avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #2b5ce6;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	font-size: 16px;
	flex-shrink: 0;
}
.dd-sidebar-nav {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.dd-sidebar-link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	color: #353941;
	font-size: 14px;
	font-weight: 500;
	transition: all 0.2s ease;
}
.dd-sidebar-link:hover {
	background: #f0f4ff;
	color: #2b5ce6;
}
.dd-sidebar-link.active {
	background: #2b5ce6;
	color: #fff;
}
.dd-sidebar-link.active svg {
	stroke: #fff;
}
.dd-sidebar-logout {
	margin-top: 12px;
	border-top: 1px solid #DEE4EA;
	padding-top: 16px;
	color: #9FA7AE;
}
.dd-sidebar-logout:hover {
	color: #dc3545;
	background: #fff5f5;
}

/* Login */
.dd-login {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 60vh;
	padding: 40px 20px;
}
.dd-login-inner {
	max-width: 420px;
	width: 100%;
	text-align: center;
}
.dd-login-inner h1 {
	margin-bottom: 8px;
}
.dd-login-sub {
	color: #9FA7AE;
	margin-bottom: 30px;
}
.dd-login-form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	text-align: left;
}
.dd-login-form .dd-field {
	margin-bottom: 0;
}

/* Fields */
.dd-field {
	display: flex;
	flex-direction: column;
	gap: 4px;
}
.dd-field > span {
	font-size: 13px;
	font-weight: 500;
	color: #374151;
}
.dd-field input[type="text"],
.dd-field input[type="email"],
.dd-field input[type="url"],
.dd-field input[type="password"],
.dd-field textarea,
.dd-field select {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #DEE4EA;
	border-radius: 10px;
	font-size: 14px;
	font-family: inherit;
	transition: border-color 0.2s;
	background: #fff;
}
.dd-field input:focus,
.dd-field textarea:focus {
	outline: none;
	border-color: #2b5ce6;
}
.dd-field-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.dd-field-actions {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
}
.dd-btn-full {
	width: 100%;
}

/* Cards with vertical spacing */
.dd-lab-fields-card,
.dd-edit-profile-card {
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.dd-lab-fields-card h4,
.dd-edit-profile-card h4 {
	margin-bottom: 0;
}

/* Alerts */
.dd-alert {
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 14px;
	margin-bottom: 20px;
}
.dd-alert-error {
	background: #fee2e2;
	color: #991b1b;
}
.dd-alert-success {
	background: #dcfce7;
	color: #166534;
}

/* Section */
.dd-section h2 {
	font-family: 'SF Pro', sans-serif;
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 20px;
}
.dd-section-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	flex-wrap: wrap;
}
.dd-section-header h2 {
	margin-bottom: 0;
}

/* Search */
.dd-search-wrap {
	display: flex;
	align-items: center;
	gap: 8px;
	background: #fff;
	border: 1px solid #DEE4EA;
	border-radius: 10px;
	padding: 8px 12px;
	min-width: 240px;
	position: relative;
}
.dd-search-wrap svg {
	stroke: #9FA7AE;
	flex-shrink: 0;
}
.dd-search {
	border: none !important;
	outline: none !important;
	padding: 0 !important;
	font-size: 14px;
	width: 100%;
	background: transparent;
}
.dd-search-clear {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: #e0e0e0;
	color: #555;
	font-size: 16px;
	line-height: 1;
	text-decoration: none;
	flex-shrink: 0;
	transition: background .2s;
}
.dd-search-clear:hover {
	background: #ccc;
	color: #1a1a1a;
}
.dd-search-info {
	padding: 10px 16px;
	background: #f0f9fc;
	border: 1px solid #d1eef6;
	border-radius: 8px;
	font-size: 14px;
	color: #333;
	margin-bottom: 16px;
}
.dd-search-info a {
	color: #2b5ce6;
	margin-left: 8px;
}

/* Tables */
.dd-table-wrap {
	overflow-x: auto;
}
.dd-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	background: #fff;
	border-radius: 12px;
	border: 1px solid #DEE4EA;
	overflow: hidden;
}
.dd-table th {
	background: #f8f9fa;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #9FA7AE;
	padding: 12px 16px;
	text-align: left;
	border-bottom: 1px solid #DEE4EA;
}
.dd-table td {
	padding: 14px 16px;
	font-size: 14px;
	color: #353941;
	border-bottom: 1px solid #f0f2f5;
}
.dd-table tbody tr:last-child td {
	border-bottom: none;
}
.dd-table tbody tr:hover {
	background: #f8faff;
}
.dd-td-actions {
	text-align: right;
	white-space: nowrap;
	display: flex;
	gap: 8px;
	justify-content: flex-end;
}

/* Reassign dropdown */
.dd-reassign-select {
	padding: 6px 10px;
	border: 1px solid #DEE4EA;
	border-radius: 8px;
	font-size: 13px;
	font-family: inherit;
	background: #fff;
	color: #353941;
	cursor: pointer;
	transition: border-color 0.2s;
	min-width: 140px;
}
.dd-reassign-select:focus {
	outline: none;
	border-color: #2b5ce6;
}
.dd-reassign-select:disabled {
	opacity: 0.6;
	cursor: wait;
}
.dd-select-saved {
	border-color: #22c55e !important;
}

/* Buttons */
.dd-btn-outline {
	background: transparent;
	border: 1px solid #DEE4EA;
	color: #353941;
	font-size: 13px;
	padding: 6px 14px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.dd-btn-outline:hover {
	border-color: #2b5ce6;
	color: #2b5ce6;
}
.dd-btn-outline-danger {
	background: transparent;
	border: 1px solid #fecaca;
	color: #dc3545;
	font-size: 13px;
	padding: 6px 14px;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.2s;
}
.dd-btn-outline-danger:hover {
	background: #fee2e2;
	border-color: #dc3545;
}
.dd-btn-danger {
	background: #dc3545;
	border: 1px solid #dc3545;
	color: #fff;
	border-radius: 8px;
	padding: 6px 14px;
	font-size: 13px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.dd-btn-success {
	background: #22c55e !important;
	border-color: #22c55e !important;
	color: #fff !important;
}
.btn-sm {
	font-size: 13px !important;
	padding: 6px 14px !important;
	height: auto !important;
	line-height: 1.4 !important;
}

/* Status badges */
.dd-status {
	display: inline-block;
	padding: 4px 10px;
	border-radius: 6px;
	font-size: 12px;
	font-weight: 600;
	text-transform: capitalize;
}
.dd-status-completed { background: #dcfce7; color: #166534; }
.dd-status-processing { background: #dbeafe; color: #1e40af; }
.dd-status-on-hold { background: #fef3c7; color: #92400e; }
.dd-status-pending { background: #fef3c7; color: #92400e; }
.dd-status-cancelled { background: #fee2e2; color: #991b1b; }
.dd-status-refunded { background: #f3f4f6; color: #6b7280; }
.dd-status-failed { background: #fee2e2; color: #991b1b; }

/* Badge */
.dd-badge {
	font-size: 12px;
	padding: 4px 10px;
	border-radius: 6px;
	background: #f0f4ff;
	color: #2b5ce6;
}

/* Text helpers */
.dd-text-muted { color: #9FA7AE; }
.dd-text-success { color: #22c55e; }
.dd-text-error { color: #dc3545; }
.dd-text-recording { color: #dc3545; animation: dd-blink 1s infinite; }

@keyframes dd-blink {
	50% { opacity: 0.5; }
}

/* Empty state */
.dd-empty {
	text-align: center;
	padding: 40px 20px;
	color: #9FA7AE;
	background: #fff;
	border-radius: 12px;
	border: 1px solid #DEE4EA;
}

/* Back link */
.dd-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	color: #9FA7AE;
	margin-bottom: 20px;
}
.dd-back:hover {
	color: #2b5ce6;
}

/* Patient card */
.dd-patient-card {
	background: #fff;
	border: 1px solid #DEE4EA;
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 24px;
}
.dd-patient-card-top {
	display: flex;
	align-items: flex-start;
	gap: 16px;
}
.dd-patient-card-info {
	flex: 1;
}
.dd-patient-card-info h2 {
	margin-bottom: 4px;
	font-size: 22px;
}
.dd-patient-meta {
	display: flex;
	gap: 16px;
	font-size: 14px;
	color: #9FA7AE;
	flex-wrap: wrap;
}
.dd-patient-addr {
	font-size: 13px;
	color: #9FA7AE;
	margin-top: 6px;
}
.dd-patient-card-actions {
	flex-shrink: 0;
}

/* Order tabs */
.dd-order-tabs {
	display: flex;
	gap: 4px;
	margin-bottom: 20px;
	border-bottom: 2px solid #DEE4EA;
}
.dd-order-tab {
	padding: 10px 20px;
	font-size: 14px;
	font-weight: 500;
	color: #9FA7AE;
	background: none;
	border: none;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	margin-bottom: -2px;
	transition: all 0.2s;
	font-family: inherit;
}
.dd-order-tab:hover {
	color: #353941;
}
.dd-order-tab.active {
	color: #2b5ce6;
	border-bottom-color: #2b5ce6;
}
.dd-order-panel {
	display: none;
}
.dd-order-panel.active {
	display: block;
}

/* Card */
.dd-card {
	background: #fff;
	border: 1px solid #DEE4EA;
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 20px;
}
.dd-card h4 {
	font-size: 16px;
	margin-bottom: 16px;
	font-weight: 600;
}

/* Order header */
.dd-order-header {
	margin-bottom: 24px;
}
.dd-order-header h2 {
	margin-bottom: 8px;
}
.dd-order-meta-row {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 14px;
	color: #9FA7AE;
	flex-wrap: wrap;
}

/* Voice recorder */
.dd-voice-wrap {
	background: #f8f9fa;
	border: 1px solid #DEE4EA;
	border-radius: 12px;
	padding: 16px;
}
.dd-voice-current {
	margin-bottom: 12px;
}
.dd-voice-current audio {
	width: 100%;
}
.dd-voice-controls {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 8px;
}
.dd-voice-status {
	font-size: 13px;
	margin-left: 8px;
}
.dd-voice-preview {
	width: 100%;
	margin-bottom: 8px;
}
.dd-voice-or {
	font-size: 12px;
	color: #9FA7AE;
	margin: 8px 0;
}
.dd-voice-file-input {
	font-size: 13px;
}

/* Save status */
.dd-save-status {
	font-size: 13px;
	font-weight: 500;
}

/* Hide page title for doctor dashboard */
.page-doctor-dashboard .entry-header {
	display: none;
}

/* Responsive */
@media (max-width: 767px) {
	.dd-wrap {
		flex-direction: column;
		gap: 20px;
		padding: 20px 20px !important;
	}
	.dd-sidebar {
		width: 100%;
	}
	.dd-sidebar-inner {
		position: static;
	}
	.dd-sidebar-doc {
		display: none;
	}
	.dd-sidebar-nav {
		flex-direction: row;
		overflow-x: auto;
		gap: 4px;
		padding-bottom: 4px;
		-webkit-overflow-scrolling: touch;
	}
	.dd-sidebar-link {
		white-space: nowrap;
		flex-shrink: 0;
		font-size: 13px;
		padding: 8px 12px;
	}
	.dd-sidebar-logout {
		margin-top: 0;
		border-top: none;
		padding-top: 8px;
	}
	.dd-section-header {
		flex-direction: column;
		align-items: stretch;
	}
	.dd-search-wrap {
		min-width: unset;
	}
	.dd-field-grid {
		grid-template-columns: 1fr;
	}
	.dd-patient-card-top {
		flex-direction: column;
	}
	.dd-patient-card-actions {
		width: 100%;
	}
	.dd-order-meta-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 4px;
	}
	.dd-td-actions {
		flex-direction: column;
		align-items: flex-end;
	}
	.dd-card {
		padding: 16px;
	}
	.dd-patient-card {
		padding: 16px;
	}
}

/* ---------- Pagination ---------- */

.dd-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	padding: 20px 0 8px;
	flex-wrap: wrap;
}

.dd-page-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	padding: 0 10px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	background: #fff;
	color: #1a1a1a;
	font-size: 14px;
	text-decoration: none;
	cursor: pointer;
	transition: all .2s;
}

.dd-page-link:hover {
	border-color: #5db6d4;
	color: #2b5ce6;
	background: #f0f9fc;
}

.dd-page-link.active {
	background: #2b5ce6;
	border-color: #2b5ce6;
	color: #fff;
	font-weight: 600;
	pointer-events: none;
}

.dd-page-dots {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 36px;
	color: #999;
	font-size: 14px;
}

.dd-page-info {
	margin-left: 12px;
	color: #888;
	font-size: 13px;
}
