.lab-front { max-width: 900px; margin: 20px auto; font-family: -apple-system, Arial, sans-serif; color: #222; }
.lab-front h2 { margin-top: 0; }

.lab-front-login {
	background: #fff; border: 1px solid #e2e2e2; border-radius: 8px; padding: 24px; max-width: 420px; margin: 40px auto;
}
.lab-front-login p { margin: 10px 0; }
.lab-front-login label { display:block; font-weight:600; margin-bottom:4px; font-size:13px; }

.lab-auth-tabs { display:flex; gap:6px; margin-bottom:18px; border-bottom:2px solid #eee; }
.lab-auth-tab-btn { background:none; border:none; padding:9px 14px; cursor:pointer; font-size:13.5px; border-bottom:3px solid transparent; color:#555; }
.lab-auth-tab-btn.active { border-bottom-color:#2c3e50; font-weight:600; color:#2c3e50; }
.lab-front-login input[type="text"],
.lab-front-login input[type="email"] {
	width: 100%; padding: 8px 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box;
}

.lab-front-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; border-bottom:1px solid #e2e2e2; padding-bottom:12px; margin-bottom:16px; }

.lab-front-tabs { display:flex; gap:8px; margin-bottom:16px; border-bottom: 2px solid #eee; }
.lab-tab-btn {
	background:none; border:none; padding:10px 16px; cursor:pointer; font-size:14px; border-bottom:3px solid transparent;
}
.lab-tab-btn.active { border-bottom-color:#2c3e50; font-weight:600; color:#2c3e50; }

.lab-front-table { width:100%; border-collapse: collapse; margin-bottom:16px; background:#fff; }
.lab-front-table th, .lab-front-table td { border:1px solid #e2e2e2; padding:8px 10px; text-align:left; font-size:14px; }
.lab-front-table th { background:#f7f7f7; }
.lab-front-table input[type="text"] { width:100%; box-sizing:border-box; padding:5px 6px; border:1px solid #ccc; border-radius:4px; }

.lab-front-card { background:#fff; border:1px solid #e2e2e2; border-radius:8px; padding:16px; margin-bottom:16px; }
.lab-front-card h3 { margin-top:0; }
.lab-front-card small { font-weight:normal; color:#777; }

.lab-btn {
	display:inline-block; padding:8px 14px; border-radius:4px; border:1px solid #ccc; background:#f7f7f7;
	cursor:pointer; text-decoration:none; color:#222; font-size:13px; margin-right:6px;
}
.lab-btn-primary { background:#2c3e50; color:#fff; border-color:#2c3e50; }
.lab-btn-primary:hover { background:#1c2b38; color:#fff; }

.lab-result-message { margin-top:8px; font-size:13px; }

.lab-patient-invoice { background:#fff; border:1px solid #e2e2e2; border-radius:8px; padding:14px 18px; margin-bottom:12px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; }
.lab-status-pill { padding:3px 10px; border-radius:12px; font-size:11px; font-weight:600; text-transform:uppercase; }
.lab-status-pill.paid { background:#e3f7e9; color:#1e7e34; }
.lab-status-pill.partial { background:#fff3cd; color:#8a6d00; }
.lab-status-pill.unpaid { background:#fde2e1; color:#c0392b; }

.lab-flag { display:inline-block; padding:2px 8px; border-radius:3px; font-size:11px; font-weight:700; letter-spacing:.03em; }
.lab-flag-high { background:#fde2e1; color:#c0392b; }
.lab-flag-low { background:#dbeafe; color:#1d4ed8; }
.lab-flag-normal { color:#999; }

#lab-as-patient-results { position:relative; }
.lab-search-result-item {
	padding:8px 12px; border:1px solid #ddd; border-top:none; cursor:pointer; background:#fff; font-size:14px;
}
.lab-search-result-item:hover { background:#f5f5f5; }
.lab-selected-box { background:#eef7ee; border:1px solid #c8e6c9; padding:8px 12px; border-radius:4px; margin:8px 0; font-size:14px; }
