.jfgc-form{max-width:620px;margin:0 auto;background:#fff;border-radius:24px;padding:28px;box-shadow:0 22px 70px rgba(10,13,20,.1);border:1px solid rgba(10,13,20,.06)}
.jfgc-form h2,.jfgc-form h3{font-family:var(--jf-font-heading, Poppins);text-transform:uppercase;color:var(--jf-pink,#EC5C9D);margin:0 0 10px;line-height:1.1}.jfgc-form p{color:#69717c}.jfgc-google-box{margin-top:18px;text-align:center;border-top:1px solid #edf0f5;padding-top:18px}.jfgc-loader{display:inline-block;width:18px;height:18px;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:jfgcspin .8s linear infinite}@keyframes jfgcspin{to{transform:rotate(360deg)}}#jfgc-midtrans-message{margin-top:16px}.jfgc-mini-note{font-size:12px;color:#777}.wp-admin .post-type-jasfit_payment .column-title strong:before{content:'💳 ';}.wp-admin .post-type-jasfit_booking .column-title strong:before{content:'📅 ';}


/* JasfitGym Core v2.1 responsive forms */
.jfgc-register-wrap{
  width:min(1120px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.95fr) minmax(360px,520px);
  gap:28px;
  align-items:stretch;
}
.jfgc-register-wrap.is-compact{display:block;width:100%;max-width:620px}.jfgc-register-intro{
  border-radius:32px;
  padding:36px;
  background:linear-gradient(135deg,rgba(253,232,242,.95),rgba(226,250,250,.95));
  border:1px solid rgba(16,19,27,.06);
  box-shadow:0 22px 70px rgba(13,16,24,.08);
  position:relative;overflow:hidden;
}
.jfgc-register-intro:after{content:"";position:absolute;inset:auto -70px -80px auto;width:220px;height:220px;border-radius:50%;background:rgba(34,184,184,.22);filter:blur(18px)}
.jfgc-register-intro span{display:inline-flex;color:var(--jf-tosca,#22B8B8);font-weight:900;letter-spacing:.12em;font-size:12px;text-transform:uppercase;margin-bottom:14px}.jfgc-register-intro h2{font-family:var(--jf-font-heading,Poppins);font-size:clamp(32px,4vw,56px);line-height:.95;letter-spacing:-.06em;text-transform:uppercase;margin:0 0 16px;color:#11151d}.jfgc-register-intro p{font-size:16px;color:#586170;max-width:520px}.jfgc-register-intro ul{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px}.jfgc-register-intro li{font-weight:800;color:#222833}.jfgc-register-intro li:before{content:"✓";display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;background:var(--jf-pink,#EC5C9D);color:#fff;font-size:12px;margin-right:10px}.jfgc-form{width:100%;max-width:620px;margin:0 auto;background:#fff;border-radius:28px;padding:30px;box-shadow:0 22px 70px rgba(10,13,20,.10);border:1px solid rgba(10,13,20,.06)}
.jfgc-form-card{max-width:none}.jfgc-form h2,.jfgc-form h3{font-family:var(--jf-font-heading,Poppins);text-transform:uppercase;color:var(--jf-pink,#EC5C9D);margin:0 0 10px;line-height:1.05;letter-spacing:-.035em}.jfgc-form h2{font-size:clamp(28px,3vw,42px)}.jfgc-form h3{font-size:26px;text-align:center}.jfgc-form p{color:#69717c}.jfgc-form-note{margin-top:0}.jfgc-form label{display:block;font-size:13px;font-weight:800;color:#333946;margin:0 0 12px}.jfgc-form .jf-input,.jfgc-form .jf-select{margin-top:7px;margin-bottom:0;min-height:50px;border-radius:14px}.jfgc-submit{width:100%;min-height:52px;margin-top:6px}.jfgc-register-notice{max-width:760px;margin:0 auto 20px}.jfgc-google-box{margin-top:18px;text-align:center;border-top:1px solid #edf0f5;padding-top:18px}.jfgc-loader{display:inline-block;width:18px;height:18px;border:3px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:jfgcspin .8s linear infinite}@keyframes jfgcspin{to{transform:rotate(360deg)}}#jfgc-midtrans-message{margin-top:16px}.jfgc-mini-note{font-size:12px;color:#777;text-align:center;margin:12px 0 0}.wp-admin .post-type-jasfit_payment .column-title strong:before{content:'💳 ';}.wp-admin .post-type-jasfit_booking .column-title strong:before{content:'📅 ';}
@media (max-width: 900px){
  .jfgc-register-wrap{grid-template-columns:1fr;gap:18px}.jfgc-register-intro{padding:28px;border-radius:26px}.jfgc-form{padding:26px;border-radius:24px}.jf-dashboard-shell{grid-template-columns:1fr!important}.jf-sidebar{position:relative!important;top:auto!important;display:flex!important;gap:10px!important;overflow:auto!important;padding:14px!important;border-radius:20px!important}.jf-sidebar h3{display:none}.jf-sidebar a{white-space:nowrap}.jf-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.jf-dashboard-main{padding:18px!important}
}
@media (max-width: 560px){
  .jfgc-register-wrap{width:100%}.jfgc-register-intro{padding:22px;border-radius:22px}.jfgc-register-intro h2{font-size:34px}.jfgc-register-intro p{font-size:14px}.jfgc-register-intro li{font-size:13px}.jfgc-form{padding:20px;border-radius:22px;box-shadow:0 16px 42px rgba(10,13,20,.08)}.jfgc-form h2{font-size:30px}.jfgc-form h3{font-size:22px}.jfgc-form .jf-input,.jfgc-form .jf-select{min-height:48px;font-size:14px}.jfgc-submit{min-height:48px;font-size:11px}.jf-stat-grid{grid-template-columns:1fr!important}.jf-wa-button span{display:none}.jf-wa-button{width:58px!important;height:58px!important;border-radius:50%!important;padding:0!important;justify-content:center!important}.jf-wa-panel{width:min(92vw,340px)!important;right:0!important}.jf-dashboard-wrap{padding:16px!important}.jf-dashboard-main .jf-grid-3{grid-template-columns:1fr!important}
}


/* JasfitGym Core v2.2 */
.jfgc-google-center{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.jfgc-google-button{display:flex;justify-content:center;width:100%}
.jfgc-google-button > div{margin-inline:auto!important}
@media (max-width:560px){
  .jfgc-google-center{padding-top:16px}
}

/* ===== JasfitGym Core v9 app dashboards, checkout, role UX ===== */
.jf-checkout-form .jf-trainer-checkout-field,.jf-checkout-form .jf-student-fields{display:none}.jf-checkout-form[data-kind="pt"] .jf-trainer-checkout-field,.jf-checkout-form[data-student="1"] .jf-student-fields{display:block}.jfgc-app{background:#070a10;color:#fff;min-height:100vh;padding:26px}.jfgc-app-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 auto 22px;max-width:1240px}.jfgc-app-top span{color:var(--jf-tosca,#22B8B8);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.jfgc-app-top h1{font-family:var(--jf-font-heading,Poppins);font-size:clamp(34px,5vw,64px);line-height:.9;letter-spacing:-.06em;text-transform:uppercase;margin:8px 0 0}.jfgc-app-user{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);padding:10px 12px;border-radius:18px}.jfgc-app-user a{color:#fff;background:var(--jf-pink,#EC5C9D);padding:10px 14px;border-radius:14px;font-size:12px;font-weight:900;text-transform:uppercase}.jfgc-app-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;max-width:1240px;margin:0 auto}.jfgc-app-sidebar{position:sticky;top:22px;align-self:start;display:grid;gap:10px;background:linear-gradient(180deg,#101620,#080b10);border:1px solid rgba(255,255,255,.08);border-radius:28px;padding:16px}.jfgc-app-sidebar a{display:flex;align-items:center;gap:10px;color:rgba(255,255,255,.82);padding:12px;border-radius:16px;font-weight:800}.jfgc-app-sidebar a:hover{background:rgba(255,255,255,.08);color:#fff}.jfgc-app-sidebar i{width:28px;height:28px;border-radius:10px;background:rgba(34,184,184,.14);display:grid;place-items:center;font-style:normal}.jfgc-app-main{display:grid;gap:20px}.jfgc-hero-card{display:flex;justify-content:space-between;gap:22px;align-items:center;background:radial-gradient(circle at 0 0,rgba(236,92,157,.36),transparent 42%),linear-gradient(135deg,#151c27,#090c12);border:1px solid rgba(255,255,255,.08);border-radius:34px;padding:28px;box-shadow:0 25px 80px rgba(0,0,0,.24)}.jfgc-hero-card p{margin:0 0 6px;color:rgba(255,255,255,.72);font-weight:800}.jfgc-hero-card h2{font-family:var(--jf-font-heading,Poppins);font-size:clamp(30px,4vw,54px);line-height:.95;letter-spacing:-.05em;text-transform:uppercase;margin:0}.jfgc-status{display:inline-flex;margin-top:14px;border-radius:999px;padding:8px 12px;background:rgba(34,184,184,.16);color:#fff;font-weight:900;font-size:12px;text-transform:uppercase}.jfgc-status.pending{background:rgba(236,92,157,.24)}.jfgc-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.jfgc-stat-grid article,.jfgc-app-card{background:#fff;color:#111722;border-radius:28px;border:1px solid rgba(255,255,255,.08);padding:22px;box-shadow:0 18px 55px rgba(0,0,0,.16)}.jfgc-stat-grid article{background:linear-gradient(180deg,#151b24,#0d1119);color:#fff}.jfgc-stat-grid span{display:block;color:rgba(255,255,255,.64);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px}.jfgc-stat-grid strong{font-family:var(--jf-font-heading,Poppins);font-size:30px;letter-spacing:-.04em}.jfgc-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.jfgc-app-card h3{margin:0 0 14px;font-family:var(--jf-font-heading,Poppins);font-size:24px;text-transform:uppercase;letter-spacing:-.035em}.jfgc-muted{color:#66707d}.jfgc-token{word-break:break-all;background:#0a0d13;color:#fff;border-radius:18px;padding:16px;font-weight:800;font-family:monospace}.jfgc-progress{height:12px;border-radius:999px;background:#edf0f5;overflow:hidden;margin:16px 0}.jfgc-progress span{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,var(--jf-pink,#EC5C9D),var(--jf-tosca,#22B8B8))}.jfgc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.jfgc-card-list{display:grid;gap:12px}.jfgc-list-card{display:flex;justify-content:space-between;gap:14px;align-items:center;background:#f7f8fb;border:1px solid #edf0f5;border-radius:20px;padding:14px}.jfgc-list-card strong{display:block}.jfgc-list-card span,.jfgc-list-card small{display:block;color:#66707d}.jfgc-bottom-nav{display:none}.jf-table{width:100%;border-collapse:separate;border-spacing:0 9px}.jf-table th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#77808c}.jf-table td{background:#f7f8fb;padding:12px;font-size:13px}.jf-table td:first-child{border-radius:12px 0 0 12px}.jf-table td:last-child{border-radius:0 12px 12px 0}.jf-badge-status{display:inline-flex;border-radius:999px;padding:6px 10px;background:#e9eef5;color:#27303b;font-size:11px;font-weight:900;text-transform:uppercase}.jf-badge-status.paid{background:rgba(34,184,184,.18);color:#087b7b}.jf-badge-status.pending{background:rgba(236,92,157,.16);color:#bd3d78}.jf-badge-status.failed{background:#ffe6e6;color:#ad1d1d}
@media(max-width:980px){.jfgc-app-layout{grid-template-columns:1fr}.jfgc-app-sidebar{position:relative;top:auto;display:flex;overflow:auto}.jfgc-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.jfgc-card-grid{grid-template-columns:1fr}.jf-table,.jf-table thead,.jf-table tbody,.jf-table tr,.jf-table th,.jf-table td{display:block}.jf-table thead{display:none}.jf-table tr{background:#f7f8fb;border-radius:18px;margin-bottom:10px;padding:12px}.jf-table td{background:transparent;padding:8px;border-radius:0!important}}
@media(max-width:640px){.jfgc-app{padding:16px 14px 92px;background:#05070c}.jfgc-app-top{align-items:flex-start}.jfgc-app-user strong{display:none}.jfgc-app-user{background:transparent;border:0;padding:0}.jfgc-app-top h1{font-size:32px}.jfgc-hero-card{border-radius:28px;padding:22px;align-items:flex-start;flex-direction:column}.jfgc-hero-card h2{font-size:36px}.jfgc-stat-grid{grid-template-columns:1fr 1fr;gap:10px}.jfgc-stat-grid article,.jfgc-app-card{border-radius:22px;padding:18px}.jfgc-stat-grid strong{font-size:24px}.jfgc-app-sidebar{display:none}.jfgc-bottom-nav{position:fixed;z-index:120;left:12px;right:12px;bottom:12px;display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:rgba(14,18,26,.88);backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.1);border-radius:24px;padding:8px;box-shadow:0 18px 60px rgba(0,0,0,.35)}.jfgc-bottom-nav a{display:grid;place-items:center;gap:2px;color:#fff;font-size:10px;font-weight:800}.jfgc-bottom-nav i{font-style:normal;color:var(--jf-tosca,#22B8B8);font-size:18px}.jfgc-list-card{align-items:flex-start;flex-direction:column}.jfgc-list-card .jf-btn{width:100%}.jfgc-actions .jf-btn{width:100%}}

/* ===== JasfitGym Core v11 dashboard refinements ===== */
.jfgc-app{background:#f5f7fa!important;color:#17202c!important;padding:24px 20px 36px!important}
.jfgc-app-top{max-width:1240px!important;margin:0 auto 18px!important}
.jfgc-app-top span{font-size:10px!important;color:#7a8796!important;letter-spacing:.16em!important}
.jfgc-app-top h1{font-size:clamp(24px,3vw,34px)!important;line-height:1!important;letter-spacing:-.04em!important;color:#10161f!important}
.jfgc-app-user{background:#fff!important;border:1px solid rgba(16,22,31,.08)!important;color:#17202c!important;padding:8px 10px!important;border-radius:16px!important;box-shadow:0 10px 22px rgba(16,22,31,.05)!important}
.jfgc-app-user a{padding:9px 12px!important;border-radius:12px!important;font-size:11px!important}
.jfgc-app-sidebar{background:#fff!important;border:1px solid rgba(16,22,31,.06)!important;border-radius:26px!important;padding:14px!important;box-shadow:0 18px 42px rgba(16,22,31,.05)!important}
.jfgc-app-sidebar a{color:#4a5663!important;font-size:13px!important;font-weight:800!important;padding:11px 12px!important}
.jfgc-app-sidebar a:hover{background:#f4f7fb!important;color:#111722!important}
.jfgc-app-sidebar i{background:rgba(34,184,184,.08)!important;color:var(--jf-tosca,#22B8B8)!important;width:26px!important;height:26px!important;border-radius:9px!important}
.jfgc-hero-card{background:#fff!important;color:#111722!important;border:1px solid rgba(16,22,31,.06)!important;border-radius:30px!important;padding:24px!important;box-shadow:0 18px 52px rgba(16,22,31,.06)!important}
.jfgc-hero-card p{font-size:11px!important;color:#7b8793!important;letter-spacing:.14em!important;text-transform:uppercase!important}
.jfgc-hero-card h2{font-size:clamp(24px,3.2vw,34px)!important;line-height:1!important;color:#111722!important}
.jfgc-status{font-size:10px!important;padding:7px 10px!important;background:rgba(34,184,184,.10)!important;color:#087b7b!important}
.jfgc-status.pending{background:rgba(236,92,157,.12)!important;color:#b33d76!important}
.jfgc-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important}
.jfgc-stat-grid article,.jfgc-app-card{background:#fff!important;color:#111722!important;border:1px solid rgba(16,22,31,.06)!important;border-radius:24px!important;padding:18px!important;box-shadow:0 12px 36px rgba(16,22,31,.04)!important}
.jfgc-stat-grid span{color:#7c8795!important;font-size:10px!important;letter-spacing:.12em!important;margin-bottom:7px!important}
.jfgc-stat-grid strong{font-size:22px!important;color:#111722!important}
.jfgc-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
.jfgc-app-card h3{font-size:18px!important;letter-spacing:-.02em!important;margin:0 0 14px!important;color:#111722!important}
.jfgc-muted,.jfgc-list-card span,.jfgc-list-card small,.jf-summary-line span{color:#6d7885!important}
.jf-summary-line{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;padding:9px 0;border-bottom:1px dashed rgba(16,22,31,.08)}
.jf-summary-line:last-child{border-bottom:0;padding-bottom:0}
.jf-summary-line strong{font-size:13px;color:#111722;font-weight:800;text-align:right}
.jfgc-progress{height:10px!important;margin:14px 0 0!important;background:#edf1f6!important}
.jfgc-progress span{background:linear-gradient(90deg,var(--jf-pink,#EC5C9D),var(--jf-tosca,#22B8B8))!important}
.jfgc-actions{margin-top:16px!important}
.jfgc-actions .jf-btn{min-height:44px!important;font-size:11px!important}
.jfgc-card-list{gap:10px!important}
.jfgc-list-card{background:#f7f9fc!important;border:1px solid #e9eef5!important;border-radius:18px!important;padding:14px!important}
.jfgc-list-card strong{font-size:14px!important;color:#111722!important}
.jfgc-list-card .jf-btn{min-height:40px!important;font-size:11px!important}
.jfgc-qr-wrap{display:flex;align-items:center;justify-content:center;padding:16px;border-radius:24px;background:linear-gradient(180deg,#f8fbfe 0%,#ffffff 100%);border:1px solid rgba(16,22,31,.06);margin-top:8px}
.jfgc-qr-wrap img{width:200px;max-width:100%;height:auto;display:block}
.jfgc-qr-placeholder{width:200px;height:200px;border-radius:20px;background:#f0f3f7;display:grid;place-items:center;color:#6d7885;font-size:12px;font-weight:700}
.jfgc-token-label{margin-top:12px;padding:12px 14px;border-radius:16px;background:#f7f9fc;border:1px dashed #d8e0ea;font-family:monospace;font-size:12px;word-break:break-all;color:#253041}
.jf-table{border-spacing:0 8px!important}
.jf-table th{font-size:10px!important;color:#7b8793!important;padding:0 8px 6px}
.jf-table td{background:#f7f9fc!important;padding:11px 12px!important;font-size:12px!important;color:#1f2a36!important}
.jf-badge-status{font-size:10px!important;padding:6px 10px!important}
.jf-admin-actions{display:flex;gap:8px;flex-wrap:wrap}
.jf-admin-actions button,.jf-admin-actions a{display:inline-flex;align-items:center;justify-content:center;height:36px;padding:0 12px;border-radius:12px;border:1px solid rgba(16,22,31,.08);background:#fff;color:#111722;font-size:11px;font-weight:800}

@media(max-width:980px){
  .jfgc-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .jfgc-card-grid{grid-template-columns:1fr!important}
}
@media(max-width:640px){
  .jfgc-app{padding:14px 12px 92px!important}
  .jfgc-app-top h1{font-size:28px!important}
  .jfgc-hero-card{padding:18px!important;border-radius:24px!important}
  .jfgc-stat-grid{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .jfgc-stat-grid article,.jfgc-app-card{padding:16px!important;border-radius:20px!important}
  .jfgc-stat-grid strong{font-size:18px!important}
  .jfgc-app-sidebar{display:none!important}
  .jfgc-bottom-nav{background:rgba(255,255,255,.96)!important;border:1px solid rgba(16,22,31,.08)!important;box-shadow:0 16px 36px rgba(16,22,31,.12)!important}
  .jfgc-bottom-nav a{color:#111722!important}
  .jfgc-bottom-nav i{color:var(--jf-tosca,#22B8B8)!important}
  .jfgc-qr-wrap img,.jfgc-qr-placeholder{width:170px;height:auto}
}

/* ===== JASFIT Core v13 checkout refinement ===== */
.jf-v13-checkout{max-width:1120px;margin:0 auto}.jf-checkout-user-fields{display:grid;gap:10px;margin-bottom:18px}.jf-checkout-user-fields h3,.jf-checkout-form h3{font-family:var(--jf-font-heading,Poppins);font-size:20px;letter-spacing:-.03em;text-transform:uppercase;margin:6px 0;color:#10151d}.jf-checkout-user-fields label,.jf-checkout-form label{font-size:12px;font-weight:800;color:#3c4654}.jf-checkout-form .jf-input,.jf-checkout-form .jf-select{margin-top:7px}.jf-sisters-fields{gap:10px;margin:12px 0}.jf-checkout-form[data-group="SISTERS"] .jf-sisters-fields{display:grid!important}.jf-checkout-form[data-kind="pt"] .jf-trainer-checkout-field{display:block!important}.jf-checkout-form[data-student="1"] .jf-student-fields{display:block!important}.jf-checkout-summary .jf-summary-box{position:sticky;top:102px}.jf-checkout-summary .jf-summary-box:first-child{position:static}.jf-checkout-form button[type=submit]{width:100%;min-height:54px;margin-top:8px}.jf-badge-status.expired{background:#fff3df!important;color:#b36b00!important}.jf-badge-status.cancelled{background:#eef1f5!important;color:#657180!important}
@media(max-width:760px){.jf-checkout-summary{grid-template-columns:1fr!important;gap:16px!important}.jf-summary-box{border-radius:22px!important;padding:18px!important}.jf-checkout-summary .jf-summary-box{position:static!important}.jf-summary-line{font-size:12px}.jf-summary-total{font-size:24px!important}.jf-checkout-user-fields h3,.jf-checkout-form h3{font-size:18px}.jf-checkout-form button[type=submit]{min-height:50px}.jf-sisters-fields{gap:8px}}

/* ===== JASFIT Core v15 checkout/register polish ===== */
.jf-checkout-filter-grid{display:grid;grid-template-columns:0.8fr 1.2fr;gap:14px;margin-bottom:16px}
.jfgc-plan-select optgroup{font-weight:900;color:#10131a;background:#fff}
.jfgc-register-summary{margin:-4px 0 16px;padding:12px 14px;border-radius:16px;background:rgba(34,184,184,.08);color:#475569;font-size:12px;font-weight:700}
.jf-checkout-form .jf-select,.jfgc-form .jf-select{min-height:54px;border-radius:16px;border:1px solid #dfe5eb;background:#fff;padding:0 16px;font-weight:800;color:#111827;width:100%}
.jf-checkout-summary{align-items:start}
.jf-summary-total{font-size:24px!important;color:var(--jf-pink,#EC5C9D)!important}
@media(max-width:720px){
  .jf-checkout-filter-grid{grid-template-columns:1fr;gap:10px}
  .jf-checkout-summary{grid-template-columns:1fr!important;padding:18px!important}
  .jf-summary-box{border-radius:24px!important;padding:20px!important}
}
