.gjpp-shell{max-width:1100px;margin:0 auto;padding:24px 16px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:#1f2430;}
.gjpp-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 10px 30px rgba(20,20,40,.06);margin-bottom:20px;}
.gjpp-brand-bar{height:6px;border-radius:6px;background:linear-gradient(90deg,#8b1e3f,#c9893f);margin-bottom:18px;}
.gjpp-login-card{max-width:480px;margin:0 auto;}
.gjpp-subtext{color:#6b7280;font-size:14px;margin-top:-6px;margin-bottom:18px;}
.gjpp-tabs{display:flex;gap:6px;border-bottom:1px solid #eee;margin-bottom:18px;}
.gjpp-tabs button{flex:1;background:none;border:none;padding:10px 6px;font-size:13px;font-weight:600;color:#9aa0ab;cursor:pointer;border-bottom:2px solid transparent;}
.gjpp-tabs button.active{color:#8b1e3f;border-bottom-color:#8b1e3f;}
.gjpp-tab-panel{display:none;}
.gjpp-tab-panel.active{display:block;}
.gjpp-step{font-size:12px;font-weight:700;color:#8b1e3f;text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px;}
.gjpp-ajax-form{display:flex;flex-direction:column;gap:10px;margin-bottom:10px;}
.gjpp-ajax-form label{font-size:13px;font-weight:600;color:#374151;margin-top:6px;}
.gjpp-optional{font-weight:400;color:#9aa0ab;font-size:12px;}
.gjpp-ajax-form input[type="text"],
.gjpp-ajax-form input[type="email"],
.gjpp-ajax-form input[type="password"],
.gjpp-ajax-form input[type="number"],
.gjpp-ajax-form select,
.gjpp-reset-confirm input,
.gjpp-reset-confirm select{
  padding:11px 12px;border:1px solid #e1e3e8;border-radius:10px;font-size:14px;width:100%;box-sizing:border-box;
}
.gjpp-ajax-form input:focus,.gjpp-reset-confirm input:focus{outline:none;border-color:#8b1e3f;box-shadow:0 0 0 3px rgba(139,30,63,.1);}
.gjpp-checkbox{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:400;color:#4b5563;}
.gjpp-checkbox input{margin-top:3px;}
.gjpp-btn{display:inline-block;padding:11px 18px;border-radius:10px;border:1px solid #e1e3e8;background:#fff;color:#1f2430;font-weight:600;font-size:14px;cursor:pointer;text-align:center;text-decoration:none;transition:opacity .15s;}
.gjpp-btn:hover{opacity:.85;}
.gjpp-btn:disabled{opacity:.5;cursor:not-allowed;}
.gjpp-btn-primary{background:#8b1e3f;border-color:#8b1e3f;color:#fff;}
.gjpp-btn-outline{background:transparent;}
.gjpp-inline-msg{font-size:13px;min-height:18px;}
.gjpp-inline-msg.ok{color:#15803d;}
.gjpp-inline-msg.error{color:#b91c1c;}
.gjpp-otp-boxes{display:flex;gap:8px;}
.gjpp-otp-digit{width:42px;height:48px;text-align:center;font-size:18px;border:1px solid #e1e3e8;border-radius:10px;}
.gjpp-forgot-wrap{margin-top:14px;font-size:13px;}
.gjpp-forgot-wrap summary{cursor:pointer;color:#8b1e3f;font-weight:600;}
.gjpp-reset-confirm{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.gjpp-google-btn{display:block;text-align:center;margin-top:16px;padding:11px;border:1px solid #e1e3e8;border-radius:10px;color:#1f2430;text-decoration:none;font-weight:600;font-size:14px;}
.gjpp-google-btn.disabled{color:#9aa0ab;cursor:not-allowed;}
.gjpp-login-links{display:flex;justify-content:space-between;margin-top:16px;font-size:13px;}
.gjpp-login-links a{color:#8b1e3f;text-decoration:none;}

.gjpp-dashboard-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
.gjpp-dashboard-head h2{margin:0 0 4px;}
.gjpp-dashboard-head p{margin:0;color:#6b7280;font-size:14px;}
.gjpp-head-actions{display:flex;gap:10px;}
.gjpp-notice-warning{background:#fff7ed;border:1px solid #fed7aa;color:#9a3412;font-size:14px;}

.gjpp-grid{display:grid;gap:14px;}
.gjpp-grid.two{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.gjpp-grid label{font-size:13px;font-weight:600;color:#374151;display:block;margin-bottom:4px;}
.gjpp-grid input{padding:10px 12px;border:1px solid #e1e3e8;border-radius:10px;width:100%;box-sizing:border-box;font-size:14px;}

.gjpp-plan-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:18px;}
.gjpp-plan-card{display:flex;flex-direction:column;gap:14px;}
.gjpp-plan-top{display:flex;justify-content:space-between;align-items:flex-start;}
.gjpp-plan-name{font-size:17px;font-weight:700;}
.gjpp-plan-id{font-size:12px;color:#9aa0ab;margin-top:2px;}
.gjpp-status{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;white-space:nowrap;}
.gjpp-status.green{background:#dcfce7;color:#166534;}
.gjpp-status.yellow{background:#fef9c3;color:#854d0e;}
.gjpp-status.red{background:#fee2e2;color:#991b1b;}
.gjpp-status.blue{background:#dbeafe;color:#1e40af;}
.gjpp-plan-meta{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:13px;}
.gjpp-plan-meta span{display:block;color:#9aa0ab;margin-bottom:2px;}
.gjpp-plan-meta strong{font-size:14px;}
.gjpp-plan-actions{display:flex;}
.gjpp-history summary{cursor:pointer;font-size:13px;font-weight:600;color:#8b1e3f;}
.gjpp-table-wrap{overflow-x:auto;margin-top:10px;}
.gjpp-table-wrap table{width:100%;border-collapse:collapse;font-size:13px;}
.gjpp-table-wrap th,.gjpp-table-wrap td{padding:8px 10px;border-bottom:1px solid #f0f0f0;text-align:left;white-space:nowrap;}

.gjpp-modal{position:fixed;inset:0;background:rgba(15,15,20,.55);display:none;align-items:center;justify-content:center;z-index:9999;padding:16px;}
.gjpp-modal.open{display:flex;}
.gjpp-modal-box{background:#fff;border-radius:16px;padding:28px;max-width:420px;width:100%;position:relative;}
.gjpp-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:20px;cursor:pointer;color:#9aa0ab;}
.gjpp-summary-head h3{margin:0 0 2px;}
.gjpp-summary-head p{margin:0;color:#9aa0ab;font-size:13px;}
.gjpp-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:18px 0;}
.gjpp-summary-item span{display:block;font-size:12px;color:#9aa0ab;}
.gjpp-summary-item strong{font-size:15px;}
.gjpp-summary-item.total{grid-column:1 / -1;border-top:1px solid #f0f0f0;padding-top:10px;}
.gjpp-summary-item.total strong{font-size:20px;color:#8b1e3f;}
.gjpp-pay-methods{font-size:12px;color:#9aa0ab;margin-bottom:10px;}
.gjpp-disclaimer{font-size:12px;color:#9aa0ab;margin-bottom:16px;}
.gjpp-proceed-pay{width:100%;}
.gjpp-payment-result{text-align:center;}
.gjpp-check,.gjpp-cross{font-size:40px;width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.gjpp-check{background:#dcfce7;color:#166534;}
.gjpp-cross{background:#fee2e2;color:#991b1b;}
.gjpp-result-actions{display:flex;gap:10px;justify-content:center;margin-top:16px;flex-wrap:wrap;}
.gjpp-support{font-size:12px;color:#9aa0ab;margin-top:10px;}
