/* GratifyOJS Customer Portal public interface v1.0.2 */
.cp-page.cp-v102 {
  --cp-primary:#155eef; --cp-primary-strong:#1049bd; --cp-primary-soft:#eff4ff;
  --cp-success:#067647; --cp-success-soft:#ecfdf3; --cp-warning:#b54708;
  --cp-danger:#b42318; --cp-danger-soft:#fef3f2; --cp-text:#182230;
  --cp-muted:#667085; --cp-border:#dfe5ec; --cp-surface:#fff;
  --cp-soft:#f7f9fc; --cp-radius:14px; --cp-radius-sm:9px;
  --cp-shadow:0 10px 32px rgba(16,24,40,.08);
  width:100%; min-width:0; padding:clamp(1.35rem,4vw,4rem) 0 4.5rem;
  color:var(--cp-text); background:linear-gradient(180deg,#f6f9ff 0,#fff 23rem);
  overflow-x:clip;
}
.cp-page,.cp-page *,.cp-page *::before,.cp-page *::after{box-sizing:border-box}
.cp-page>.container{width:min(calc(100% - 2rem),1280px);max-width:1280px;margin-inline:auto;min-width:0}
.cp-page h1,.cp-page h2,.cp-page h3,.cp-page h4{margin-top:0;color:var(--cp-text);line-height:1.2;overflow-wrap:anywhere}
.cp-page h1{font-size:clamp(1.85rem,4vw,2.65rem);margin-bottom:.55rem}
.cp-page h2{font-size:clamp(1.2rem,2vw,1.55rem);margin-bottom:.8rem}
.cp-page h3{font-size:1.05rem;margin-bottom:.55rem}
.cp-page p{line-height:1.65;overflow-wrap:anywhere}
.cp-page a{overflow-wrap:anywhere}
.cp-page img{max-width:100%;height:auto}
.cp-page .eyebrow{display:inline-flex;margin-bottom:.65rem;color:var(--cp-primary-strong);font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.cp-auth-shell{width:min(100%,780px);margin-inline:auto}
.cp-auth-card,.cp-panel,.cp-dashboard-main,.cp-sidebar{background:var(--cp-surface);border:1px solid var(--cp-border);border-radius:var(--cp-radius);box-shadow:var(--cp-shadow)}
.cp-auth-card{padding:clamp(1.15rem,4vw,2.4rem);overflow:hidden}
.cp-auth-card .lead,.cp-page-title p{margin-top:0;color:var(--cp-muted)}
.cp-registration-form{display:grid;gap:1rem}
.cp-form,.cp-form-grid,.cp-settings-form{display:grid;gap:1rem;min-width:0}
.cp-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.cp-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.cp-span-2{grid-column:span 2}
.cp-field{display:grid;gap:.42rem;min-width:0;margin:0}
.cp-field>span{font-size:.9rem;font-weight:700;color:#344054}
.cp-field small,.cp-small{color:var(--cp-muted);font-size:.82rem;line-height:1.48}
.cp-field input,.cp-field select,.cp-field textarea,.cp-inline-form input,.cp-inline-form select{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #cfd7e3;border-radius:var(--cp-radius-sm);padding:.73rem .82rem;background:#fff;color:var(--cp-text);font:inherit;line-height:1.35}
.cp-field textarea{min-height:116px;resize:vertical}
.cp-field select[multiple]{min-height:150px}
.cp-field input:focus,.cp-field select:focus,.cp-field textarea:focus,.cp-inline-form input:focus,.cp-inline-form select:focus{outline:3px solid rgba(21,94,239,.14);border-color:var(--cp-primary)}
.cp-field input:disabled,.cp-field select:disabled,.cp-field textarea:disabled{background:#f2f4f7;color:#667085;cursor:not-allowed}
.cp-check-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.72rem;margin:.6rem 0}
.cp-check,.cp-options label,.cp-consents label,.cp-preference-list label{display:flex;align-items:flex-start;gap:.58rem;min-width:0;line-height:1.45}
.cp-check input,.cp-options input,.cp-consents input,.cp-preference-list input{flex:0 0 auto;width:auto;margin-top:.18rem}
.cp-options{display:flex;flex-wrap:wrap;gap:.75rem 1.1rem}
.cp-consents,.cp-preference-list{display:grid;gap:.75rem;padding:.9rem;border:1px solid var(--cp-border);border-radius:12px;background:var(--cp-soft)}
.cp-form-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;margin-top:.25rem}
.cp-dashboard-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1.25rem;align-items:start;min-width:0}
.cp-sidebar{position:sticky;top:1rem;overflow:hidden;min-width:0}
.cp-sidebar-head{display:grid;gap:.18rem;padding:1.1rem 1.05rem;border-bottom:1px solid var(--cp-border);background:linear-gradient(135deg,#f9fbff,#fff)}
.cp-sidebar-head strong{font-size:1rem}.cp-sidebar-head small{color:var(--cp-muted)}
.cp-sidebar nav{display:grid;gap:.15rem;padding:.55rem}
.cp-sidebar nav a{display:flex;align-items:center;min-height:42px;padding:.68rem .78rem;border-radius:8px;color:#344054;text-decoration:none;font-size:.91rem;line-height:1.3}
.cp-sidebar nav a:hover,.cp-sidebar nav a:focus-visible,.cp-sidebar nav a.active{color:var(--cp-primary-strong);background:var(--cp-primary-soft);font-weight:700;outline:0}
.cp-dashboard-main{min-width:0;padding:clamp(1rem,3vw,2rem);overflow:hidden}
.cp-page-title{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}
.cp-page-title p{margin-bottom:0}
.cp-panel{min-width:0;padding:1.1rem;margin-bottom:1rem;overflow:hidden}
.cp-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.8rem}
.cp-panel-head h2,.cp-panel-head h3{margin-bottom:0}
.cp-grid,.cp-summary-grid,.cp-stat-grid,.cp-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;min-width:0}
.cp-two-column{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr);gap:1rem;align-items:start;min-width:0}
.cp-summary-card,.cp-service-grid>a,.cp-service-grid>article{display:grid;gap:.35rem;min-width:0;padding:1rem;border:1px solid var(--cp-border);border-radius:12px;background:#fff;color:inherit;text-decoration:none}
.cp-summary-card strong,.cp-stat-grid strong{font-size:1.42rem}.cp-summary-card span,.cp-stat-grid span{color:var(--cp-muted);font-size:.85rem}
.cp-welcome{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:1.15rem;border-radius:12px;background:linear-gradient(135deg,#eff4ff,#f8fbff);border:1px solid #dbe6ff}
.cp-profile-header{display:flex;align-items:center;gap:1rem;min-width:0}.cp-profile-header>div{min-width:0}
.cp-profile-header img,.cp-avatar{width:68px;height:68px;flex:0 0 68px;border:1px solid var(--cp-border);border-radius:50%;object-fit:cover;background:#f2f4f7}
.cp-card-list,.cp-mini-list,.cp-list,.cp-notification-list,.cp-template-nav{display:grid;gap:.7rem;min-width:0}
.cp-card-list>article,.cp-mini-list>div,.cp-list>article,.cp-notification-list>article{display:grid;gap:.3rem;min-width:0;padding:.86rem;border:1px solid var(--cp-border);border-radius:10px;background:#fff;overflow-wrap:anywhere}
.cp-notification-list>article.unread{border-color:#b9cdfc;background:#f7f9ff}
.cp-mini-list span,.cp-card-list small,.cp-list small,.cp-notification-list small{color:var(--cp-muted);font-size:.83rem}
.cp-empty{padding:1rem;border:1px dashed #c9d3e1;border-radius:10px;background:var(--cp-soft);color:var(--cp-muted)}
.cp-actions,.cp-inline-form,.cp-filter-links{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;min-width:0}
.cp-inline-form>*{min-width:0}
.cp-badge{display:inline-flex;align-items:center;width:fit-content;max-width:100%;padding:.25rem .57rem;border-radius:999px;background:#f2f4f7;color:#344054;font-size:.76rem;font-weight:700;overflow-wrap:anywhere}
.cp-badge.success{background:var(--cp-success-soft);color:var(--cp-success)}.cp-badge.warning{background:#fffaeb;color:var(--cp-warning)}.cp-badge.danger{background:var(--cp-danger-soft);color:var(--cp-danger)}
.cp-progress,.cp-security-meter{height:9px;overflow:hidden;border-radius:999px;background:#e7ebf1}
.cp-progress span,.cp-security-meter>i{display:block;width:var(--value,var(--cp-meter-value,0%));height:100%;background:linear-gradient(90deg,var(--cp-primary),#6b8cff)}
.cp-summary{display:grid;gap:.5rem;margin:0}.cp-summary>div{display:flex;justify-content:space-between;gap:1rem;padding:.55rem 0;border-bottom:1px solid var(--cp-border)}.cp-summary dt{color:var(--cp-muted)}.cp-summary dd{margin:0;font-weight:750;text-align:right}
.cp-secret,.cp-code-grid,.cp-recovery{display:grid;gap:.65rem;padding:.9rem;border:1px solid var(--cp-border);border-radius:10px;background:#f8fafc;overflow:auto}
.cp-code-grid{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.cp-code-grid code,.cp-secret code,.cp-shortcodes code{display:block;padding:.48rem .58rem;border-radius:7px;background:#eef2f7;overflow-wrap:anywhere;white-space:normal}
.cp-verification-box{padding:1rem;border:1px solid #b9cdfc;border-radius:12px;background:#f5f8ff}
.cp-shortcodes{display:flex;flex-wrap:wrap;gap:.45rem}.cp-link-danger{color:var(--cp-danger)!important;font-weight:700}
.cp-pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin-top:1rem}.cp-pagination a,.cp-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:38px;padding:.4rem .65rem;border:1px solid var(--cp-border);border-radius:8px;text-decoration:none}.cp-pagination .active{background:var(--cp-primary);border-color:var(--cp-primary);color:#fff}
.cp-page .btn,.cp-page button.btn{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:0;border-radius:9px;padding:.7rem 1rem;text-decoration:none;cursor:pointer;font:inherit;font-weight:700;line-height:1.2}
.cp-page .btn-primary{background:var(--cp-primary);color:#fff}.cp-page .btn-primary:hover{background:var(--cp-primary-strong)}.cp-page .btn-secondary{background:#eef2f6;color:#344054}.cp-page .btn-danger{background:var(--cp-danger);color:#fff}
.cp-page button[aria-busy="true"]{opacity:.72;cursor:wait}
.cp-page .flash{margin:0 0 1rem;padding:.82rem 1rem;border:1px solid var(--cp-border);border-radius:9px;overflow-wrap:anywhere}.cp-page .flash-success{background:var(--cp-success-soft);color:#05603a;border-color:#abefc6}.cp-page .flash-error{background:var(--cp-danger-soft);color:#912018;border-color:#fecdca}
.cp-page .table-wrap{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.cp-page table{width:100%;min-width:620px;border-collapse:collapse}.cp-page th,.cp-page td{padding:.74rem;border-bottom:1px solid var(--cp-border);text-align:left;vertical-align:top;overflow-wrap:anywhere}.cp-page th{color:var(--cp-muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.03em}.cp-page details pre{max-width:100%;white-space:pre-wrap;word-break:break-word}.cp-page [hidden]{display:none!important}
.cp-page :focus-visible{outline:3px solid rgba(21,94,239,.28);outline-offset:2px}
@media (max-width:1020px){.cp-dashboard-shell,.cp-two-column{grid-template-columns:1fr}.cp-sidebar{position:static}.cp-sidebar nav{grid-template-columns:repeat(3,minmax(0,1fr))}.cp-sidebar nav a{justify-content:center;text-align:center}.cp-welcome{grid-template-columns:1fr}}
@media (max-width:720px){.cp-page>.container{width:min(calc(100% - 1.25rem),1280px)}.cp-form-grid,.cp-form-row{grid-template-columns:1fr}.cp-span-2{grid-column:auto}.cp-sidebar nav{grid-template-columns:repeat(2,minmax(0,1fr))}.cp-page-title,.cp-panel-head,.cp-form-footer{align-items:stretch;flex-direction:column}.cp-dashboard-main,.cp-auth-card{padding:1rem}.cp-actions,.cp-inline-form{align-items:stretch;flex-direction:column}.cp-actions>*,.cp-inline-form>*{width:100%}.cp-page table{min-width:560px}}
@media (max-width:460px){.cp-page{padding-top:1rem}.cp-sidebar nav{grid-template-columns:1fr}.cp-auth-card,.cp-dashboard-main,.cp-panel{border-radius:11px}.cp-profile-header{align-items:flex-start}.cp-profile-header img,.cp-avatar{width:54px;height:54px;flex-basis:54px}.cp-check-grid,.cp-grid,.cp-summary-grid,.cp-stat-grid,.cp-service-grid{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.cp-page *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
