/* Grind With Nard client portal: scoped to our My Sessions screen only. */
.gwn-portal { color: #fff; background:#181a20; border:1px solid #34363b; border-radius:12px; padding:clamp(18px,3vw,32px); }
.gwn-portal-eyebrow { color:#ff701f; letter-spacing:.14em; font-size:12px; font-weight:800; }
.gwn-portal h2 { color:#fff!important; margin:12px 0 10px; font-weight:800; }
.gwn-portal-lead, .gwn-portal-note { color:#d5d6d9!important; line-height:1.65; }
.gwn-portal-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:24px 0; }
.gwn-stat { background:#101114; border:1px solid #35373b; border-radius:8px; padding:18px; min-width:0; }
.gwn-stat span { color:#dadada; display:block; font-size:13px; }
.gwn-stat strong { color:#ff701f!important; display:block; font-size:clamp(26px,4vw,40px); line-height:1.3; }
.gwn-table-scroll { width:100%; overflow-x:auto; }
.gwn-credits-table { width:100%; border-collapse:collapse; min-width:650px; background:#101114; }
.gwn-credits-table th,.gwn-credits-table td { border-bottom:1px solid #383a41; padding:14px 11px; color:#fff!important; text-align:left; font-size:14px; }
.gwn-credits-table th { color:#ff701f!important; font-weight:800; }
.gwn-status-hold { color:#ffd56e!important; }
.gwn-status-active { color:#9adea9!important; }
.gwn-portal-empty { padding:24px; background:#101114; border:1px solid #34363b; border-radius:8px; margin:24px 0; }
.gwn-portal-note { padding:12px 0; font-size:14px; }
.gwn-portal a.gwn-portal-button { display:inline-block; background:#ff701f!important; color:#101114!important; padding:14px 20px; text-decoration:none!important; border-radius:6px; font-weight:800; }
@media(max-width:600px){.gwn-portal-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.gwn-stat{padding:12px 8px}.gwn-stat span{font-size:11px}}
/* v0.2 mobile package cards and read-only appointment overview */
.gwn-mobile-packages{display:none}
.gwn-mobile-package{background:#101114;border:1px solid #383b42;border-radius:10px;padding:18px;margin:14px 0;color:#fff}
.gwn-mobile-package>strong{display:block;color:#ff701f;font-size:17px}
.gwn-mobile-package>span{display:block;margin:8px 0 15px}
.gwn-mobile-package dl{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:0}
.gwn-mobile-package dt,.gwn-mobile-package dd{margin:0;font-size:14px;color:#fff}
.gwn-mobile-package dd{text-align:right;font-weight:700}
.gwn-portal-appointments{margin-top:35px}
.gwn-portal-appointments h3{color:#fff!important}
.gwn-appointment{border:1px solid #383b42;background:#101114;padding:15px;margin:10px 0;border-radius:8px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;color:#fff}
.gwn-appointment strong{color:#ff701f}
.gwn-appointment small{color:#a9ecba;font-size:14px}
@media(max-width:920px){.gwn-table-scroll{display:none!important}.gwn-mobile-packages{display:block!important}}
/* v0.3 reserved credits summary */
.gwn-booking-summary{margin:25px 0;padding:18px;background:#101114;border:1px solid #35373b;border-radius:10px}
.gwn-booking-summary h3{color:#fff!important;margin:0 0 12px}
.gwn-booking-summary p{color:#fff!important}

/* v0.4 book-session page */
.gwn-book-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 0}
.gwn-book-service{background:#101114;border:1px solid #35373b;border-radius:10px;padding:18px;min-width:0}
.gwn-book-service h3,.gwn-calendar-stage h3{color:#fff!important;font-size:20px;margin:0 0 8px}
.gwn-book-service p,.gwn-calendar-stage p{color:#ddd!important}
.gwn-book-service strong,.gwn-book-service span{display:block;color:#ff701f;margin:12px 0}
.gwn-book-service a{display:inline-block;border-radius:6px;background:#ff701f;color:#101114!important;padding:10px 13px;text-decoration:none;font-weight:800}
.gwn-calendar-stage{background:#fff;color:#101114;border-radius:10px;margin-top:24px;padding:18px;overflow:hidden}
.gwn-calendar-stage h3{color:#101114!important}.gwn-calendar-stage p{color:#30343a!important}
.gwn-book-warning{background:#321b14;color:#fff;padding:18px;border:1px solid #ff701f}
@media(max-width:900px){.gwn-book-service-grid{grid-template-columns:1fr}}
/* v0.6 client-shared workout progress */
.gwn-progress-portal h3{color:#fff!important;margin:25px 0 13px}.gwn-progress-panel,.gwn-progress-portal .gwn-workout-card{background:#101114;border:1px solid #34363b;border-radius:10px;padding:22px;margin:18px 0;color:#fff}
.gwn-progress-portal .gwn-progress-panel h3{margin:0 0 10px}.gwn-progress-portal p{color:#fff}.gwn-progress-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:12px}
.gwn-progress-tags span{border:1px solid #45454b;border-radius:30px;font-size:13px;padding:5px 11px;color:#f4f4f4}
.gwn-progress-portal .gwn-workout-head{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.gwn-progress-portal .gwn-workout-head strong{font-size:20px;color:#ff701f}.gwn-progress-portal .gwn-workout-head span{color:#e4e4e4}
.gwn-progress-portal .gwn-workout-service{color:#c7cbd1!important}.gwn-progress-portal .gwn-workout-exercises{max-width:100%;overflow-x:auto}
.gwn-progress-portal .gwn-workout-exercises table{width:100%;min-width:420px;border-collapse:collapse;font-size:14px;color:#fff}
.gwn-progress-portal .gwn-workout-exercises th,.gwn-progress-portal .gwn-workout-exercises td{border-bottom:1px solid #393b40;padding:10px 6px;text-align:left;color:#fff}
.gwn-progress-portal .gwn-milestone{color:#ffb783!important;font-weight:700}
@media(max-width:650px){.gwn-progress-portal .gwn-progress-panel,.gwn-progress-portal .gwn-workout-card{padding:15px}}

/* v0.7 shared workout trend snapshot */
.gwn-trend-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0}
.gwn-trend-stats>div{border:1px solid #36383e;border-radius:8px;background:#181a20;padding:16px}
.gwn-trend-stats span{display:block;color:#dedede;font-size:14px}
.gwn-trend-stats strong{display:block;color:#ff701f;font-size:34px;line-height:1.4}
.gwn-trend-caption{font-size:13px;color:#cbd0d7!important}
.gwn-trend-scroll{overflow-x:auto;max-width:100%}
.gwn-progress-portal .gwn-trend-table{min-width:440px;width:100%;border-collapse:collapse}
.gwn-progress-portal .gwn-trend-table th,.gwn-progress-portal .gwn-trend-table td{padding:11px 8px;text-align:left;border-bottom:1px solid #3b3c41;color:#fff!important}
.gwn-progress-portal .gwn-trend-table th{color:#ff701f!important}
@media(max-width:480px){.gwn-trend-stats{gap:8px}.gwn-trend-stats>div{padding:12px}}
