:root{--blue:#315c86;--navy:#253c53;--muted:#7b827f;--line:#e8e7e0;--bg:#f7f6f2;--green:#477b61;--red:#a15e63;--amber:#9b7a43;--gold:#aa905c;--surface:#fffefa;color-scheme:light}*{box-sizing:border-box}body{margin:0;color:var(--navy);background:var(--bg);font:14px/1.6 'Segoe UI','Noto Sans Gurmukhi',Arial,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer;border:1px solid transparent;border-radius:12px;padding:11px 18px;background:var(--blue);color:#fff;font-weight:500;transition:background .18s,box-shadow .18s,transform .18s}button:hover{filter:brightness(.97)}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}a{color:var(--blue)}h1,h2,h3,p{margin:0}h1{font-size:30px;letter-spacing:-.8px;line-height:1.25;font-weight:400}h2{font-size:19px;letter-spacing:-.35px;font-weight:500;line-height:1.4}h3{font-size:15px;font-weight:500;margin-top:18px}strong,b{font-weight:500}small,.muted{color:var(--muted)}small{font-size:12px}.topbar{height:78px;background:#163751;color:white;display:flex;align-items:center;justify-content:space-between;padding:0 max(28px,calc((100vw - 1144px)/2));box-shadow:0 3px 18px #14293a08}.brand{display:flex;gap:18px;align-items:center;font-size:22px;font-weight:400;letter-spacing:.2px}.brandmark{display:inline-block;font-size:42px;font-style:italic;font-weight:800;line-height:1;color:#66b7e5;border-right:1px solid #ffffff30;padding-right:21px}.topbar .muted{color:#bdcbd6;font-size:12px}.topbar button{background:#ffffff09;padding:8px 14px;border:1px solid #ffffff25;font-size:12px}.shell{max-width:1200px;margin:auto;padding:32px 28px 114px}.gymhead{display:flex;align-items:center;gap:19px;padding:23px 27px;background:var(--surface);border:1px solid var(--line);border-radius:17px;margin-bottom:30px;box-shadow:0 7px 28px #6b624506}.gymlogo{width:65px;height:65px;display:grid;place-items:center;background:#f0f3f4;color:var(--blue);border:1px solid #e3e8e8;border-radius:50%;font-size:21px;font-weight:400;flex-shrink:0;overflow:hidden}.gymlogo img{width:100%;height:100%;object-fit:contain;background:white}.gymhead h1{font-size:24px;margin-bottom:5px}.gymhead p{font-size:12px;color:var(--muted)}.gymhead .badge{margin-left:auto}.badge{display:inline-block;border-radius:20px;font-size:11px;letter-spacing:.1px;font-weight:500;padding:5px 11px;background:#edf2f5;color:var(--blue);white-space:nowrap}.pagehead{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:23px}.eyebrow{display:block;font-size:10px;font-weight:500;letter-spacing:1.8px;text-transform:uppercase;color:var(--gold);margin-bottom:8px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:17px;margin:23px 0 28px}.stat{text-align:left;display:flex;gap:17px;align-items:center;padding:21px;border:1px solid transparent;min-height:115px;color:var(--navy);border-radius:15px}.stat>div{min-width:0}.stat strong{font-size:33px;font-weight:400;display:block;line-height:1.25;margin-top:6px;letter-spacing:-.8px;overflow-wrap:anywhere}.stat span{font-size:12px;font-weight:400}.stat .symbol{display:grid;place-items:center;width:37px;height:37px;border:1px solid currentColor;border-radius:12px;opacity:.72;flex-shrink:0}.lineicon{width:21px;height:21px;display:inline-block;vertical-align:middle;flex-shrink:0}.red{background:#f9f0f0;color:var(--red);border-color:#edddde}.orange{background:#faf3eb;color:#a17a55;border-color:#eee2d5}.amber{background:#f9f5e9;color:var(--amber);border-color:#ede5d0}.green{background:#eff5ef;color:var(--green);border-color:#dde9dc}.panel{background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:0 9px 28px #554f3a04;padding:25px;margin-bottom:22px}.moneygrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin-top:24px}.moneygrid>div{min-width:0}.moneygrid>div+div{border-left:1px solid var(--line);padding-left:17px}.moneygrid small{font-size:11px;display:block;line-height:1.5;min-height:33px}.moneygrid strong{display:block;font-size:27px;font-weight:400;letter-spacing:-.8px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.progress{height:5px;background:#ecefeb;border-radius:10px;margin:22px 0 14px;overflow:hidden}.actions{display:flex;gap:12px;margin:20px 0}.actions button{flex:1;padding:13px 14px}.secondary{background:var(--surface);color:var(--blue);border:1px solid #d9e0e3}.danger{background:#f9eff0;color:var(--red);border:1px solid #e8d3d6}.textbutton{background:transparent;color:var(--blue);padding:7px}.paneltitle{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:21px}.paneltitle>.textbutton{font-size:12px}.search{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fafaf7;margin-bottom:9px;font-size:12px}.memberrow{display:flex;gap:12px;align-items:center;padding:17px 0;border-bottom:1px solid #efeee8}.memberrow:last-child{border:0}.avatar{width:39px;height:39px;display:grid;place-items:center;border-radius:50%;background:#eef2f2;color:#53728b;font-weight:400;font-size:12px;flex-shrink:0}.membername{flex:1;min-width:0}.membername .textbutton{text-align:left;padding:0 0 3px;color:var(--navy);font-size:13px}.membername strong{display:block;font-weight:500}.membername small{display:block;font-size:10px;letter-spacing:.4px}.memberrow .badge{min-width:82px;text-align:center;font-size:11px;letter-spacing:0;font-weight:400}.wa{background:transparent;color:var(--green);border:1px solid #dce8dd;padding:7px 10px;font-size:11px}.qrpanel{display:flex;gap:17px;align-items:center;width:100%;text-align:left;background:var(--surface);color:var(--navy);border:1px solid var(--line);padding:20px 23px;border-radius:15px}.qrpanel .symbol{color:var(--gold);font-size:26px}.qrpanel .lineicon{width:31px;height:31px}.qrpanel small{display:block;font-size:12px;margin-top:4px}.qrpanel>span:last-child{margin-left:auto;color:var(--gold)}.qrpanel h2{font-size:17px}.formpreviewlink{display:block;margin:7px 0 0 auto;font-size:12px}.footer{text-align:center;font-size:10px;letter-spacing:.3px;color:var(--muted);margin:28px 0}.bottomnav{position:fixed;bottom:0;left:0;right:0;background:#fffefbf5;backdrop-filter:blur(14px);border-top:1px solid var(--line);display:flex;justify-content:center;gap:27px;padding:12px 20px;z-index:5;box-shadow:0 -6px 28px #584e3703}.bottomnav button{min-width:122px;background:transparent;color:#87908f;padding:9px 18px;font-size:12px;font-weight:400;border-radius:10px}.bottomnav button.active{background:#edf2f4;color:var(--blue)}.bottomnav .navicon{display:inline-block;margin-right:8px}.bottomnav .lineicon{width:17px;height:17px}.login{max-width:440px;margin:8vh auto;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:36px}.login p{margin:12px 0 22px}.login .brandmark{border:0;margin-bottom:15px}.login button{width:100%}.login a{display:block;text-align:center;margin-top:14px}form label{display:block;font-size:12px;font-weight:400;margin-bottom:18px;color:#5f706f}input,select,textarea{display:block;width:100%;margin-top:7px;border:1px solid #dedfd8;border-radius:10px;padding:11px 13px;background:#fffffc;color:var(--navy);font-size:14px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #b9c9d455;border-color:#9aafbd}input::placeholder,textarea::placeholder{color:#a1a79f;font-weight:400;font-size:12px}input[type=checkbox]{display:inline;width:auto;margin-right:8px;accent-color:var(--blue)}textarea{min-height:85px;resize:vertical}.formgrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 17px}.full{grid-column:1/-1}dialog{border:1px solid var(--line);border-radius:19px;padding:28px;width:min(650px,94vw);max-height:90vh;color:var(--navy);background:var(--surface);box-shadow:0 22px 70px #24332230}dialog::backdrop{background:#19304066;backdrop-filter:blur(5px)}.modalhead{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:15px}.modalhead h2{font-size:21px;font-weight:400}.modalhead button{background:#f1f2ec;color:#7a8179;padding:3px 11px;font-size:22px}.notice{background:#f0f4f5;color:#5a7280;border:1px solid #e1e8e9;border-radius:10px;padding:13px 16px;margin:16px 0;font-size:12px;font-weight:400}.error{background:#faf0f0;color:var(--red);padding:12px;border-radius:9px;margin-bottom:14px}.demo-banner{background:#f2ecdd;border-bottom:1px solid #e9e0cd;color:#8c7956;text-align:center;padding:7px 15px;font-size:10px;letter-spacing:.3px}.demo-banner .textbutton{font-size:10px;padding:3px 8px;color:#7c6a44}.tablewrap{overflow-x:auto}table{width:100%;border-collapse:collapse;white-space:nowrap}th,td{text-align:left;padding:12px;border-bottom:1px solid var(--line);font-size:12px}th{color:var(--muted);font-weight:400;background:#f7f7f1}td .badge{font-size:10px}.summaryline{display:flex;justify-content:space-between;gap:17px;padding:12px 0;border-bottom:1px solid var(--line);font-size:13px}.summaryline>b,.summaryline>strong{text-align:right}.previewbill{background:#f4f4ed;border-radius:11px;padding:15px;margin-bottom:18px}.previewbill strong{font-size:19px;font-weight:400}.filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.filters button{padding:6px 12px;background:var(--surface);color:var(--muted);border:1px solid var(--line);font-size:11px}.filters button.active{background:var(--blue);color:white;border-color:var(--blue)}.empty{text-align:center;color:var(--muted);padding:35px 10px}.split{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:22px}#toast{position:fixed;bottom:94px;left:50%;transform:translateX(-50%);background:#294455;color:white;padding:12px 21px;border-radius:12px;z-index:20;display:none;box-shadow:0 8px 25px #253b4820;max-width:90vw;font-size:13px}.qrimage{display:block;width:240px;height:240px;margin:20px auto}.qrplaceholder{text-align:center;padding:35px;color:var(--muted);font-size:12px;background:#f5f4ed;border-radius:12px;margin-top:20px}.qrplaceholder .lineicon{width:50px;height:50px;color:var(--gold);margin-bottom:10px}.checkline{display:flex;align-items:flex-start;gap:7px}.checkline input{margin-top:4px;flex-shrink:0}.buttonrow{display:flex;gap:9px;flex-wrap:wrap}.hidden{display:none!important}.ownerlabel{color:#b1c9d4;font-size:9px;font-weight:400;letter-spacing:1.2px;margin-top:4px}.printonly{display:none}.profilepreview{display:flex;gap:15px;align-items:center;margin-bottom:23px}.profilepreview .muted{font-size:12px}.saving{color:var(--green);font-weight:500}.accountnote{font-size:10px;color:#8c938c;margin-top:12px}.accountnote summary{cursor:pointer}.accountnote p{padding:8px 0;line-height:1.7}.messageheading{display:flex;justify-content:space-between;gap:12px;align-items:center}.bilingualmessage{font-family:'Segoe UI','Noto Sans Gurmukhi','Raavi',sans-serif;font-weight:400;line-height:1.9;font-size:14px}
progress.progress{display:block;width:100%;border:0;appearance:none}progress.progress::-webkit-progress-bar{background:#e9ede9;border-radius:10px}progress.progress::-webkit-progress-value{background:#739baf;border-radius:10px}progress.progress::-moz-progress-bar{background:#739baf;border-radius:10px}
.registrationbar{display:flex;align-items:center;justify-content:space-between;gap:15px;max-width:1120px;margin:auto;padding:27px 35px}.registrationbar .brand{font-size:16px;color:var(--navy)}.registrationbar .brandmark{font-size:31px;border-color:#d9ddd8;padding-right:16px;color:#4e85a7}.registrationbar .textbutton{font-size:12px}.registrationpage{max-width:1060px;margin:15px auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:90px;padding:20px 35px;align-items:start}.registrationintro{padding-top:65px}.registrationintro h1{font-size:42px;line-height:1.25;letter-spacing:-1px;margin-bottom:19px}.registrationintro .muted{font-size:13px;max-width:280px}.registrationsteps{margin:36px 0;display:grid;gap:20px}.registrationsteps>div{display:flex;align-items:center;gap:16px;font-size:13px}.registrationsteps span{color:var(--gold);font-size:11px;border:1px solid #e2daca;border-radius:50%;width:29px;height:29px;display:grid;place-items:center}.registrationpromise{font-size:12px;color:var(--muted);max-width:285px;line-height:1.9;border-top:1px solid var(--line);padding-top:20px}.registrationcard{background:var(--surface);border:1px solid #e6e4da;border-radius:20px;padding:32px 30px;box-shadow:0 14px 45px #6b624509}.registrationcardhead{display:flex;align-items:center;gap:14px;margin-bottom:28px}.registrationcardhead .gymlogo{width:49px;height:49px;font-size:17px}.registrationcardhead .eyebrow{font-size:8px;letter-spacing:1.3px;margin-bottom:5px}.registrationcardhead h2{font-size:21px;font-weight:400}.previewlabel{font-size:10px;color:#998454;background:#f6f1e6;padding:9px 12px;border-radius:8px;margin-bottom:21px}.consentline{font-size:10px;line-height:1.8;margin:22px 0;color:#8a9088}.registersubmit{width:100%;display:flex;justify-content:space-between;align-items:center;padding:13px 18px;font-size:13px}.registrationfootnote{font-size:10px;text-align:center;color:#92998f;margin-top:16px;line-height:1.8}.registrationfooter{margin:20px 0 35px}.registrationsuccess{padding:30px 0;text-align:center}.registrationsuccess>.lineicon{width:44px;height:44px;color:var(--green);margin-bottom:20px}.registrationsuccess h2{font-size:25px;font-weight:400}.registrationsuccess p{font-size:13px;color:var(--muted);line-height:1.9;margin:18px 0 28px}
@media(min-width:1000px){.dashboardbody{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}.dashboardbody .panel{margin-bottom:0}.dashboardbody .rightstack>.panel{margin-bottom:22px}}
@media(max-width:800px){.registrationpage{gap:35px;padding:15px 25px}.registrationintro h1{font-size:32px}.registrationcard{padding:25px 23px}}
@media(max-width:700px){body{font-size:14px}.topbar{height:65px;padding:0 18px}.brand{font-size:18px;gap:13px}.brandmark{font-size:33px;padding-right:15px}.topbar .username{display:none}.topbar button{padding:7px 10px;font-size:10px}.shell{padding:22px 16px 105px}.gymhead{padding:18px 16px;gap:14px;border-radius:15px;margin-bottom:26px}.gymhead h1{font-size:21px;letter-spacing:-.5px}.gymlogo{width:54px;height:54px;font-size:18px}.gymhead .badge{display:none}.gymhead p{font-size:11px}.cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:21px 0 23px}.stat{min-height:104px;padding:16px;gap:12px}.stat strong{font-size:31px;margin-top:4px}.stat span{font-size:11px}.stat .symbol{width:29px;height:29px;border-radius:9px}.stat .symbol .lineicon{width:18px;height:18px}.panel{padding:20px 18px;border-radius:15px;margin-bottom:20px}.moneygrid{gap:10px}.moneygrid>div+div{padding-left:10px}.moneygrid strong{font-size:23px}.moneygrid small{font-size:10px}.actions{gap:11px}.actions button{padding:12px 10px;font-size:12px}.bottomnav{gap:0;padding:9px 6px;padding-bottom:max(9px,env(safe-area-inset-bottom))}.bottomnav button{min-width:0;flex:1;font-size:10px;padding:7px 3px;border-radius:10px}.bottomnav .navicon{display:block;margin:0 0 4px}.bottomnav .lineicon{width:19px;height:19px}.memberrow{gap:9px;padding:17px 0}.avatar{width:34px;height:34px;font-size:10px}.membername .textbutton{font-size:12px}.membername small{font-size:9px}.memberrow .badge{min-width:67px;font-size:10px;padding:5px 7px}.wa{font-size:10px;padding:6px}.pagehead h1{font-size:27px}.paneltitle h2{font-size:18px}.formgrid,.split{grid-template-columns:1fr}.login{margin:5vh 15px;padding:28px}dialog{padding:22px 19px}.summaryline{font-size:12px}.actions.wrap{flex-wrap:wrap}.buttonrow button{font-size:12px;padding:9px 12px}.eyebrow{font-size:9px;letter-spacing:1.6px}.qrpanel{padding:18px}.qrpanel h2{font-size:16px}.qrpanel small{font-size:11px}.footer{margin:26px 0}.messageheading{flex-wrap:wrap}.registrationbar{padding:20px 21px}.registrationbar .brand{font-size:13px;gap:10px}.registrationbar .brandmark{font-size:27px;padding-right:12px}.registrationbar .textbutton{font-size:10px}.registrationpage{display:block;margin:0 auto;padding:7px 20px 0;max-width:500px}.registrationintro{padding:10px 3px 26px}.registrationintro>.eyebrow{font-size:8px}.registrationintro h1{font-size:29px;line-height:1.2;margin-bottom:10px}.registrationintro .muted{max-width:none;font-size:12px}.registrationsteps,.registrationpromise{display:none}.registrationcard{padding:25px 22px;border-radius:17px}.registrationcardhead{margin-bottom:23px}.registrationcardhead h2{font-size:21px}.registrationfooter{font-size:9px;padding:0 20px}.registrationcard label{font-size:12px}.registrationcard .consentline{font-size:10px}.bilingualmessage{font-size:14px}}
@media(max-width:480px){.moneygrid{grid-template-columns:1fr;gap:0;margin-top:17px}.moneygrid>div{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:9px 0}.moneygrid>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.moneygrid small{font-size:11px;min-height:0}.moneygrid strong{font-size:25px;overflow-wrap:normal}.moneygrid strong.muted{color:#9a7a57}.stat{padding:14px;gap:10px}.stat strong{font-size:29px}.stat .symbol{border:0;width:22px}.memberrow .badge{min-width:62px}.memberrow .wa{font-size:9px}.paneltitle .textbutton{font-size:11px}.memberrow>.avatar{display:none}.registrationcard{padding:23px 19px}.demo-banner{font-size:9px;padding:7px 10px}.demo-banner .textbutton{font-size:9px}}
@media(prefers-reduced-motion:reduce){button{transition:none}button:active{transform:none}}
@media print{body{background:white}.topbar,.bottomnav,.actions,button,.demo-banner,.footer{display:none!important}.shell{padding:0;max-width:none}.panel{box-shadow:none}.printonly{display:block}}

.bluecard{background:#edf2f7;color:#5b7b99;border-color:#dce5ed}.joiningdetail{margin-top:5px;letter-spacing:0!important;line-height:1.7}.joiningmonth{font-size:12px;margin-top:8px}
@media(min-width:1101px){.cards-fees{grid-template-columns:repeat(5,minmax(0,1fr))}.cards-fees .stat{padding:18px 15px;gap:11px}.cards-fees .stat .symbol{width:30px;height:30px;border-radius:10px}.cards-fees .stat span{font-size:11px}}
@media(min-width:701px) and (max-width:1100px){.cards-fees{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.cards-fees .newjoinings{grid-column:1/-1;min-height:77px}.cards-fees .newjoinings>div{display:flex;align-items:center;justify-content:space-between;width:100%;gap:14px}.cards-fees .newjoinings strong{margin-top:0}.cards-fees .newjoinings span{font-size:12px}}

#advanceline{flex-wrap:wrap}#advanceline small{display:block;flex-basis:100%;margin-left:29px;font-size:10px}.advancehint{font-size:11px;color:var(--blue);line-height:1.8;margin-top:14px}

/* BLT white cards: state is indicated ONLY by a small coloured star. */
:root{--blue:#075ac3;--navy:#173658;--muted:#6d8097;--line:#dce7f3;--bg:#f4f8fd;--gold:#075ac3;--surface:#ffffff}
body{background:var(--bg)}.topbar{background:linear-gradient(110deg,#064693,#0868ce)}
.stat.red,.stat.orange,.stat.amber,.stat.green,.stat.bluecard{background:#fff;color:var(--navy);border-color:var(--line)}
.stat .symbol{color:#597fa6;border-color:#d7e4f2;opacity:1}.stat strong,.stat .statlabel{color:var(--navy)}
.red,.orange,.amber,.green,.bluecard{background:#fff;color:var(--navy);border-color:var(--line)}
.statusstar{display:inline-block;font-size:11px!important;line-height:1;vertical-align:middle;margin-left:4px;font-weight:400!important}.statusstar.star-red{color:#d12e3b}.statusstar.star-yellow{color:#d6a500}.statusstar.star-green{color:#148348}
.stat .statlabel{font-size:11px}.badge .statusstar{margin-left:0;margin-right:3px;font-size:10px!important}
.gymhead,.panel,.qrpanel,.registrationcard,dialog{background:#fff}.gymlogo{background:#f0f6fd;border-color:#dce8f7}.avatar,.badge{background:#f0f6fd}.badge.red,.badge.orange,.badge.amber,.badge.green{background:#fff;color:var(--navy);border:1px solid #e2eaf3}
.demo-banner{background:#edf5ff;border-color:#dbe8f8;color:#55789a}.demo-banner .textbutton{color:var(--blue)}
.search,input,select,textarea{background:#fff;border-color:#dce7f3}.previewbill,.notice,.previewlabel,.qrplaceholder{background:#f2f7fe;border-color:#dce7f3;color:#557493}.filters button,.secondary{background:white}.bottomnav{background:#fffffffa}.bottomnav button.active{background:#eaf3ff;color:var(--blue)}
.moneygrid strong.muted{color:var(--navy)}.registrationsteps span{border-color:#dce7f3}.checkline{color:var(--muted)}.registrationpromise{border-color:var(--line)}.consentline,.registrationfootnote{color:var(--muted)}
progress.progress::-webkit-progress-value{background:#4288d2}progress.progress::-moz-progress-bar{background:#4288d2}

.cards-fees .stat.red{border-color:#d12e3b}.cards-fees .stat.orange,.cards-fees .stat.amber{border-color:#d6a500}.cards-fees .stat.green{border-color:#148348}
