/* RoyalGym logo palette. Existing routes and form behavior are preserved. */
:root{--rg-brand:#28145b;--rg-brand-hover:#3f277e;--rg-tint:#f0edf7;--rg-ink:#262333;--rg-muted:#656171;--rg-line:#e4e1eb;--rg-surface:#f6f5f9}
body{background:var(--rg-surface);color:var(--rg-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--rg-brand)}a:hover{color:var(--rg-brand-hover)}
.btn-primary,.btn-blue{background:var(--rg-brand)!important;border-color:var(--rg-brand)!important;color:#fff!important;box-shadow:none}
.btn-primary:hover,.btn-blue:hover{background:var(--rg-brand-hover)!important;border-color:var(--rg-brand-hover)!important}
.btn{border-radius:7px;font-weight:600;padding:.6rem 1rem}.btn-sm{padding:.3rem .65rem}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #8a72bf;outline-offset:3px}
.form-control{border-color:var(--rg-line);border-radius:7px;color:var(--rg-ink);min-height:42px}.form-control:focus{border-color:#7860a9;box-shadow:0 0 0 3px var(--rg-tint)}
.card,.card-box{border:1px solid var(--rg-line);border-radius:11px;box-shadow:0 3px 14px #28145b05}
.card-body{padding:1.5rem}.page-title{color:var(--rg-brand);font-weight:700}
.navbar-custom{background:#fff!important;border-bottom:1px solid var(--rg-line);box-shadow:none}.navbar-custom .topnav-menu .nav-link{color:var(--rg-ink)!important}
.logo-box{background:#fff!important}.logo-box .logo img{max-width:92%;object-fit:contain}.logo-box .logo-light{display:none!important}.logo-box .logo-dark{display:block!important}.logo-box .logo-lg img{height:48px!important}
.left-side-menu{background:#fff!important;border-right:1px solid var(--rg-line);box-shadow:none}#sidebar-menu>ul>li>a{color:#514b60;border-radius:7px;margin:4px 10px;padding:13px 15px}#sidebar-menu>ul>li>a:hover,#sidebar-menu>ul>li>a.active{background:var(--rg-tint);color:var(--rg-brand)}#sidebar-menu .menu-title{color:#797181}
.table{color:var(--rg-ink)}.table thead th{background:#f7f6fa;border-bottom:1px solid var(--rg-line);color:#686171;font-size:12px;font-weight:650;padding:14px 12px}.table td{border-color:#efedf3;vertical-align:middle;padding:14px 12px}
.page-item.active .page-link{background:var(--rg-brand);border-color:var(--rg-brand)}.text-primary,.text-blue{color:var(--rg-brand)!important}.bg-soft-primary{background:var(--rg-tint)!important}.border-primary{border-color:#d4cae8!important}
.authentication-bg.authentication-bg-pattern{background:#f4f1f9!important}.authentication-bg .card{background:#fff!important;box-shadow:0 18px 60px #28145b12}.authentication-bg .auth-logo img{margin-left:0;max-width:100%;height:auto;max-height:90px;border-radius:0}.authentication-bg .auth-logo{margin:12px -20px 28px}.authentication-bg .footer-alt{color:var(--rg-muted)}.authentication-bg .card-body{padding:36px!important}
@media(max-width:575px){.authentication-bg .card-body{padding:24px!important}.card-body{padding:1rem}.logo-box .logo-lg img{height:36px!important}}
/* Shared Royal Gym workspace: existing Bootstrap forms and routes remain in use. */
body.rg-app{font-size:14px;background:#f6f5f9;color:#292538;letter-spacing:-.1px}
.rg-app h1,.rg-app h2,.rg-app h3,.rg-app h4{font-family:inherit;color:#252034}
.rg-app .content-page{margin-left:248px!important;padding:96px 22px 24px!important;min-height:100vh}
.rg-app .content-page>.content{min-height:calc(100vh - 180px)}
.rg-app .container-fluid{max-width:1570px}
.rg-app .rg-topbar{left:248px!important;right:0;top:0;height:72px;padding:0 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;z-index:1002;background:#fff!important;border-bottom:1px solid #e7e4ed}
.rg-breadcrumb{color:#847b92;font-size:13px}.rg-breadcrumb span{margin:0 15px;color:#c8c1d3}.rg-breadcrumb strong{color:#3e3455;font-weight:600}
.rg-topbar-right{display:flex;align-items:center;gap:12px}.rg-date{color:#7c7389;font-size:12px;margin-right:12px}.rg-user-avatar{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#eee8f7;color:#402769;font-weight:700}.rg-user-name{font-size:13px;font-weight:600}.rg-logout{color:#72677e;margin-left:8px;font-size:17px;display:grid;place-items:center;width:34px;height:34px}.rg-logout:hover{background:#f1edf7;border-radius:8px}
.rg-app .rg-sidebar{position:fixed;left:0;top:0;bottom:0;width:248px!important;padding:24px 16px 18px;background:#fff!important;border-right:1px solid #e7e4ed;z-index:1003;overflow-y:auto;display:flex;flex-direction:column}
.rg-brand{display:block;padding:7px 5px 25px;border-bottom:1px solid #f0edf4}.rg-brand img{width:100%;height:76px;object-fit:contain}
.rg-workspace-label{display:flex;align-items:center;gap:11px;padding:24px 8px 22px}.rg-workspace-label strong{font-size:12px;display:block;line-height:1.5}.rg-workspace-label small{display:block;font-size:11px;color:#92879f;margin-top:4px}.rg-workspace-mark{display:grid;place-items:center;width:34px;height:34px;flex-shrink:0;background:#eee8f7;color:#422b67;border-radius:9px;font-size:11px;font-weight:750}
.rg-app #sidebar-menu .menu-title{font-size:10px;letter-spacing:1.6px;color:#9990a4;padding:18px 16px 9px;font-weight:600}
.rg-app #sidebar-menu>ul>li>a{display:flex!important;align-items:center;gap:13px;font-size:13px;font-weight:500;padding:13px 15px;margin:4px 0;border-radius:8px;white-space:normal}
.rg-app #sidebar-menu>ul>li>a i{font-size:18px;width:20px;margin:0;opacity:.85}.rg-app #sidebar-menu>ul>li>a span{display:inline!important}.rg-app #sidebar-menu>ul>li>a.active{color:#fff;background:#2b1758;box-shadow:0 4px 12px #2b175816}.rg-app #sidebar-menu>ul>li>a.active i{color:#fff}
.rg-sidebar-bottom{margin-top:auto;padding:36px 7px 0}.rg-sidebar-note{border:1px solid #eae5f1;border-radius:12px;background:#faf8fd;padding:18px 14px;margin-bottom:22px}.rg-sidebar-note>i{display:block;font-size:20px;color:#694398;margin-bottom:12px}.rg-sidebar-note strong{font-size:13px}.rg-sidebar-note p{font-size:12px;color:#8a7f98;line-height:1.7;margin:7px 0 0}.rg-sidebar-bottom>a{color:#74677f;font-size:13px;padding:10px;display:block}.rg-sidebar-bottom>a i{margin-right:12px}
.rg-menu-toggle,.rg-menu-shade{display:none}.rg-app .footer{position:static!important;margin-top:40px;padding:20px 12px 4px;border-top:1px solid #e7e4ed;background:transparent;color:#968c9f;font-size:11px;left:auto!important}
.rg-page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:12px 0 32px}.rg-eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;color:#8f829f;margin-bottom:12px}.rg-page-heading h1{font-size:32px;letter-spacing:-1.1px;margin:0 0 10px;font-weight:700}.rg-subtitle{color:#8b8195;font-size:13px;margin:0;line-height:1.7}
.rg-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.rg-metric{display:flex;flex-direction:column;padding:24px 22px;background:#fff;border:1px solid #e8e3ef;border-radius:13px;min-width:0;color:inherit}.rg-metric-label{display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:12px;color:#84798f;gap:8px}.rg-metric-label i{font-size:19px;color:#837190}.rg-metric>strong{font-size:42px;letter-spacing:-1.5px;font-weight:650;line-height:1.2;margin:18px 0 9px;color:#302241}.rg-metric>span{color:#a194ac;font-size:10px;line-height:1.6}.rg-metric-featured{background:#2b1758;border-color:#2b1758;color:#fff}.rg-metric-featured .rg-metric-label,.rg-metric-featured .rg-metric-label i{color:#c8bbdf}.rg-metric-featured>strong{color:#fff}.rg-metric-featured>span{color:#b6a6d1}.rg-metric-featured:hover{color:white;background:#352066}
.rg-overview-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start;margin-bottom:26px}.rg-app .card{box-shadow:none;border:1px solid #e8e3ef;border-radius:13px;overflow:hidden;margin-bottom:0}.rg-section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px 24px 0}.rg-section-heading .rg-eyebrow{margin-bottom:7px}.rg-app h2{font-size:18px;font-weight:650;letter-spacing:-.5px;margin:0}.rg-soft-label{background:#f2edf8;color:#83699f;font-size:10px;padding:7px 10px;border-radius:5px}.rg-section-description{padding:0 24px;color:#9a8da4;font-size:12px;margin:13px 0 22px}.rg-renewals table th{font-size:10px;text-transform:uppercase;letter-spacing:.7px;background:#faf9fc;border-top:1px solid #f1edf5}.rg-renewals table td{font-size:12px;padding-top:17px;padding-bottom:17px}.rg-renewals table td:first-child,.rg-renewals table th:first-child{padding-left:24px}.rg-renewals table td:last-child{padding-right:24px}
.rg-member-cell{display:flex;align-items:center;gap:10px;color:#4e3c60}.rg-member-cell strong{font-size:12px;font-weight:600;display:block}.rg-member-cell small{display:block;color:#a89ab2;font-size:10px;margin-top:5px}.rg-initials{background:#f1edf6;color:#806299;display:grid;place-items:center;width:35px;height:35px;border-radius:50%;font-size:11px;font-weight:600;flex-shrink:0}
.rg-badge{display:inline-flex;padding:5px 8px;border-radius:5px;font-size:10px;font-weight:600;white-space:nowrap}.rg-badge-expired{background:#faeff1;color:#aa6074}.rg-badge-soon{background:#f2edf9;color:#8163a5}.rg-text-link{font-size:11px;font-weight:600;white-space:nowrap}.rg-panel-footer{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;font-size:11px;border-top:1px solid #eeebf3;background:#fdfcfe}.rg-empty{text-align:center;padding:48px 24px!important;white-space:normal!important}.rg-empty i{display:block;font-size:27px;color:#8e76a7;margin-bottom:13px}.rg-empty strong,.rg-empty span{display:block}.rg-empty span{margin-top:8px;color:#9b8ca5;font-size:12px}
.rg-side-panels{display:grid;gap:22px}.rg-campaign-callout{background:#eee7f6;border:1px solid #e5dcee;border-radius:13px;padding:25px;color:#5e4477}.rg-callout-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:11px;background:#fff8;color:#725091;font-size:22px;margin-bottom:25px}.rg-campaign-callout .rg-eyebrow{color:#8f6ba9;font-size:9px;letter-spacing:1.4px}.rg-campaign-callout h2{font-size:23px;line-height:1.35;letter-spacing:-.6px;color:#45255f;margin-bottom:12px}.rg-campaign-callout>p:not(.rg-eyebrow){color:#967fa8;font-size:12px;line-height:1.8}.rg-button-white{background:#fff;color:#54336f;border:1px solid #ffffff80;font-size:11px;align-self:flex-start}.rg-button-white:hover{background:#faf7ff;color:#32164a}.rg-quick-actions{padding:24px}.rg-quick-actions h2{font-size:15px;margin-bottom:14px}.rg-quick-actions>a{display:flex;align-items:center;gap:12px;color:#654f78;padding:15px 0;border-top:1px solid #f2edf6}.rg-quick-actions>a>i:first-child{font-size:18px}.rg-quick-actions>a>i:last-child{font-size:14px;margin-left:auto;color:#c5b6d1}.rg-quick-actions>a span{font-size:11px;font-weight:600}.rg-quick-actions small{display:block;font-size:10px;color:#a395ad;font-weight:400;margin-top:5px}
.rg-recent .rg-section-heading{padding-bottom:23px}.rg-recent-grid{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid #f0edf5}.rg-recent-grid>a{padding:24px;text-align:center;color:#645171;border-right:1px solid #f0edf5;display:flex;align-items:center;flex-direction:column}.rg-recent-grid>a:last-child{border-right:0}.rg-recent-grid .rg-initials{width:42px;height:42px;font-size:12px;margin-bottom:12px}.rg-recent-grid strong{font-size:12px;font-weight:600}.rg-recent-grid small{font-size:10px;color:#a394ad;margin-top:7px}
.rg-app .page-title-box{padding:12px 0 25px}.rg-app .page-title-box .page-title{line-height:1.4;font-size:28px;letter-spacing:-.7px;padding:0;margin:0 0 9px}.rg-app .page-title-right{margin-top:8px}.rg-app .breadcrumb{font-size:11px}.rg-app .btn-outline-primary{color:#6b4a8c;border-color:#dfd3eb;background:#fff}.rg-app .btn-outline-primary:hover{background:#f1eaf8}.rg-app .btn-outline-danger{color:#a0667d;border-color:#ebdce2;background:#fff}.rg-app .btn-outline-danger:hover{background:#f8eef2}.rg-app .btn-primary{font-size:12px;padding:12px 17px}.rg-app .btn-sm{font-size:10px;padding:6px 9px}.rg-app .form-group label{font-size:12px;font-weight:600;color:#796686}.rg-app .form-control{font-size:13px;min-height:43px;background:#fff;border-color:#e5ddec}.rg-app .form-control:disabled{background:#f4f1f7}.rg-app .table-design-default thead th{background:#faf8fc;font-size:10px;letter-spacing:.5px;text-transform:uppercase;padding:15px 12px}.rg-app .table-design-default td{font-size:12px;border-bottom:1px solid #f1edf5}.rg-app .table-design-default .img-thumbnail{border:0;border-radius:50%;width:38px!important;height:38px!important;object-fit:cover;background:#f1edf7;padding:0}.rg-app .fixed-column{background:white;z-index:1}.rg-app .dataTables_wrapper .dataTables_filter input,.rg-app .dataTables_wrapper .dataTables_length select{border:1px solid #e4dcea;border-radius:7px;padding:8px 10px;color:#725d82;background:#fff}.rg-app .dataTables_wrapper{clear:both}.rg-app .dataTables_wrapper .dataTables_length,.rg-app .dataTables_wrapper .dataTables_filter{margin:10px 0 22px;color:#9d8daa;font-size:11px}.rg-app .dataTables_wrapper .dataTables_info,.rg-app .dataTables_wrapper .dataTables_paginate{font-size:11px;color:#8e7d9d!important;padding-top:20px}.rg-app table.dataTable.no-footer{border-bottom:1px solid #ede5f3}.rg-app table.dataTable thead th{border-bottom:1px solid #ede5f3}.rg-app .card-header{background:#faf8fc;border-color:#eee7f4}.rg-app .btn-warning{background:#eee7f6;border-color:#e0d3ed;color:#5b3979}
@media(min-width:992px){body.rg-app[data-sidebar-size=condensed] .content-page{margin-left:248px!important}body.rg-app[data-sidebar-size=condensed] .rg-sidebar{width:248px!important}body.rg-app[data-sidebar-size=condensed] #sidebar-menu>ul>li>a{min-height:46px}body.rg-app[data-sidebar-size=condensed] #sidebar-menu .menu-title{display:block!important}}
@media(max-width:1250px){.rg-metrics{gap:12px}.rg-metric{padding:20px 16px}.rg-metric-label{font-size:11px}.rg-overview-grid{grid-template-columns:minmax(0,1fr) 270px;gap:18px}.rg-app .content-page{padding-left:12px!important;padding-right:12px!important}.rg-recent-grid>a{padding:20px 12px}.rg-member-cell{gap:7px}}
@media(max-width:1050px){.rg-overview-grid{grid-template-columns:1fr}.rg-side-panels{grid-template-columns:1fr 1fr}.rg-metrics{grid-template-columns:repeat(2,1fr)}.rg-date{display:none}}
@media(max-width:991px){.rg-app .rg-sidebar{display:flex!important;transform:translateX(-100%);transition:transform .2s;top:0!important;box-shadow:none}.rg-app.rg-menu-open .rg-sidebar{transform:translateX(0)}.rg-app .rg-topbar{left:0!important;padding:0 20px;height:64px}.rg-app .content-page{margin-left:0!important;padding-top:83px!important}.rg-menu-toggle{display:grid;place-items:center;width:34px;height:34px;border:0;background:#f0eaf6;border-radius:7px;color:#674385;flex-shrink:0}.rg-app.rg-menu-open .rg-menu-shade{display:block;position:fixed;inset:0;background:#21133155;border:0;z-index:1002}.rg-breadcrumb{margin-right:auto}.rg-topbar-right{gap:8px}.rg-sidebar-bottom{padding-top:35px}.rg-page-heading{margin-top:10px}}
@media(max-width:600px){.rg-page-heading{align-items:flex-start;flex-direction:column;gap:18px;margin-bottom:22px}.rg-page-heading h1{font-size:27px}.rg-subtitle{font-size:12px}.rg-topbar{gap:10px!important}.rg-user-name,.rg-breadcrumb>strong{display:none}.rg-breadcrumb span{display:none}.rg-app .content-page{padding-left:4px!important;padding-right:4px!important}.rg-metric>strong{font-size:34px;margin-top:16px}.rg-metric>span{font-size:9px}.rg-metric-label{font-size:10px}.rg-metric-label i{font-size:15px}.rg-metric{padding:18px 14px}.rg-side-panels{grid-template-columns:1fr}.rg-recent-grid{grid-template-columns:repeat(2,1fr)}.rg-recent-grid>a{border-bottom:1px solid #f0edf5}.rg-section-heading{padding:20px 18px 0}.rg-section-description{padding:0 18px}.rg-soft-label{display:none}.rg-app .footer .float-right{display:none}.rg-renewals .table{min-width:570px}.rg-app .page-title-right{display:none}}
@media(prefers-reduced-motion:reduce){.rg-sidebar{transition:none!important}}
.rg-app .content-page{margin-top:0!important}
body.rg-app #sidebar-menu>ul>li>a span{position:static!important;left:auto!important;margin:0!important;padding:0!important;box-shadow:none!important;background:transparent!important;width:auto!important;line-height:1.5}
.rg-app .table td{color:#776383;font-weight:400}.rg-app .table td .action{color:#583975;font-weight:600;text-decoration:none}.rg-app .breadcrumb-item,.rg-app .breadcrumb-item>a{font-size:11px!important;font-weight:400!important;color:#9b88ac!important}.rg-badge-active{background:#edf5f0;color:#628371}.rg-app .card-body{color:#645570}.rg-app .card-body label,.rg-app .card-body p{line-height:1.65}
.rg-app .card-footer{background:#fcfbfe;border-top:1px solid #eee7f4;padding:20px 24px}.rg-profile-grid{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;align-items:start}.rg-profile-summary{text-align:center;padding:30px 24px}.rg-profile-photo{width:94px;height:94px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 20px;border:5px solid #f4eff9}.rg-profile-summary h2{font-size:20px}.rg-profile-summary>p{font-size:12px;color:#9b86aa;margin:12px 0}.rg-profile-summary dl{margin:30px 0;text-align:left;border-top:1px solid #eee8f4;padding-top:22px}.rg-profile-summary dt,.rg-detail-list dt{font-size:10px;letter-spacing:.7px;text-transform:uppercase;color:#a492af;font-weight:500;margin-bottom:7px}.rg-profile-summary dd{color:#685176;font-size:12px;margin-bottom:18px}.rg-profile-summary .btn{font-size:11px}.rg-profile-details{display:grid;gap:24px}.rg-detail-list{display:grid;grid-template-columns:1fr 1fr;gap:24px 30px;padding:28px 24px;margin:0}.rg-detail-list dd{color:#634a73;font-size:13px;margin:0;overflow-wrap:anywhere}.rg-account-actions{padding:24px}.rg-account-actions>p{font-size:12px;color:#9e8bac;margin:14px 0 20px}.rg-account-actions .btn{font-size:11px}.rg-delete-link{font-size:11px;color:#aa8194;margin-left:18px}
@media(max-width:780px){.rg-profile-grid{grid-template-columns:1fr}.rg-detail-list{gap:22px 18px}.rg-profile-summary{padding:25px}.rg-profile-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:9px 15px}.rg-profile-summary dd{margin:0}}
/* Override the legacy theme's automatic condensed drawer at every breakpoint. */
body.rg-app[data-sidebar-size] .rg-sidebar{position:fixed!important;width:248px!important;height:100vh!important;top:0!important;bottom:0!important;z-index:1004!important}
body.rg-app[data-sidebar-size] #sidebar-menu .menu-title{display:block!important}
body.rg-app[data-sidebar-size] #sidebar-menu>ul>li>a{padding:13px 15px!important;min-height:46px}
