/* Wellness Clinic APDMS — Patient Portal front-end styles.
   Palette: white, medical blue (#1a6db5), light grey, subtle green (#2e9e6b). */

.wcap-portal { max-width: 980px; margin: 0 auto; font-family: 'Segoe UI', Roboto, Arial, sans-serif; color: #22313f; }
.wcap-portal-card { max-width: 460px; margin: 30px auto; background: #fff; border: 1px solid #e2e8ee; border-top: 5px solid #1a6db5; border-radius: 10px; padding: 26px 30px; box-shadow: 0 6px 24px rgba(26,109,181,.08); }
.wcap-portal-card h2 { margin: 0 0 6px; color: #1a6db5; }
.wcap-portal-card p { color: #55677a; }
.wcap-portal-login form p { margin: 12px 0; }
.wcap-portal-login label { display: block; font-size: 13px; font-weight: 600; color: #40536a; margin-bottom: 4px; }
.wcap-input { width: 100%; padding: 10px 12px; border: 1px solid #cbd5df; border-radius: 6px; font-size: 15px; box-sizing: border-box; }
.wcap-btn { display: inline-block; padding: 9px 18px; border-radius: 6px; background: #eef4fa; color: #1a4e79; text-decoration: none; border: 1px solid #cfe0f0; font-weight: 600; font-size: 14px; cursor: pointer; }
.wcap-btn:hover { background: #e2edf8; }
.wcap-btn-primary { background: #1a6db5; color: #fff; border-color: #1a6db5; }
.wcap-btn-primary:hover { background: #1560a3; }
.wcap-btn-logout { background: #fdeaea; color: #7a1013; border-color: #f3c2c2; }
.wcap-btn-small { padding: 4px 12px; font-size: 12.5px; }
.wcap-portal-alert { background: #fdeaea; border-left: 4px solid #d63638; color: #7a1013; padding: 10px 14px; border-radius: 6px; margin: 10px 0; font-size: 14px; }
.wcap-portal-ok { background: #e9f7f0; border-left: 4px solid #2e9e6b; color: #1d5c40; padding: 10px 14px; border-radius: 6px; margin: 10px 0; font-size: 14px; }
.wcap-portal-note { font-size: 13px; color: #6b7a89; }
.wcap-portal-lostpw { margin-top: 14px; }

.wcap-portal-hero { display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap; background: linear-gradient(135deg, #1a6db5, #2b8fd6); color: #fff; border-radius: 12px; padding: 22px 26px; margin-bottom: 18px; }
.wcap-portal-hero h1 { margin: 0 0 4px; font-size: 26px; }
.wcap-portal-sub { opacity: .92; margin: 0; }
.wcap-portal-hero .wcap-portal-alert { background: rgba(255,255,255,.16); color: #fff; border-left-color: #ffd18d; }
.wcap-portal-hero-actions { display: flex; flex-direction: column; gap: 8px; justify-content: center; }
.wcap-portal-nextappt { background: rgba(255,255,255,.14); border-radius: 8px; padding: 10px 14px; font-size: 13.5px; }
.wcap-portal-hero-actions .wcap-btn { background: #fff; color: #1a4e79; border: none; text-align: center; }

.wcap-portal-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 18px; }
.wcap-portal-stat { background: #fff; border: 1px solid #e2e8ee; border-radius: 10px; text-align: center; padding: 14px 8px; }
.wcap-portal-stat .n { display: block; font-size: 26px; font-weight: 700; color: #1a6db5; }
.wcap-portal-stat span:last-child { font-size: 12px; color: #6b7a89; }

.wcap-portal-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.wcap-portal-tabs a { padding: 9px 16px; border-radius: 20px; background: #eef2f6; color: #40536a; text-decoration: none; font-size: 14px; font-weight: 600; }
.wcap-portal-tabs a.active { background: #1a6db5; color: #fff; }

.wcap-portal-table-wrap { overflow-x: auto; background: #fff; border: 1px solid #e2e8ee; border-radius: 10px; }
.wcap-portal-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.wcap-portal-table th, .wcap-portal-table td { padding: 11px 14px; border-bottom: 1px solid #edf1f5; text-align: left; }
.wcap-portal-table thead th { background: #eef4fa; color: #1a4e79; font-size: 12.5px; text-transform: uppercase; letter-spacing: .4px; }
.wcap-portal-abn td { background: #fdf1f1; }

.wcap-portal-form { background: #fff; border: 1px solid #e2e8ee; border-radius: 10px; padding: 20px 24px; }
.wcap-portal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 18px; margin: 12px 0; }
.wcap-portal-grid label { display: flex; flex-direction: column; font-size: 13px; font-weight: 600; color: #40536a; gap: 4px; }
.wcap-portal-grid input, .wcap-portal-grid textarea { width: 100%; padding: 9px 11px; border: 1px solid #cbd5df; border-radius: 6px; box-sizing: border-box; }

@media (max-width: 720px) {
	.wcap-portal-stats { grid-template-columns: repeat(2, 1fr); }
	.wcap-portal-grid { grid-template-columns: 1fr; }
}
