:root{--green:#17643f;--green-dark:#0e4d32;--green-soft:#e8f5ed;--gold:#d6a84b;--ink:#11201a;--muted:#69756f;--line:#dfe7e2;--bg:#f5f8f6;--white:#fff;--danger:#c43c3c;--shadow:0 12px 35px rgba(18,65,43,.08);--radius:18px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-size:16px;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(1180px,calc(100% - 40px));margin:auto}.narrow{width:min(760px,calc(100% - 40px))}.brand{display:flex;flex-direction:column;line-height:1}.brand strong{font-size:27px;letter-spacing:.5px;color:var(--green)}.brand small{color:var(--gold);font-weight:700;margin-top:5px}.brand.light strong,.brand.light small{color:#fff}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--green);background:var(--green);color:#fff;border-radius:12px;padding:11px 18px;font-weight:750;cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-1px);background:var(--green-dark)}.btn-outline{background:#fff;color:var(--green)}.btn-outline:hover{color:#fff}.btn-ghost{background:transparent;color:var(--ink);border-color:transparent}.btn-sm{padding:8px 12px;border-radius:10px;font-size:14px}.btn-lg{padding:14px 22px;font-size:17px}.full-button{width:100%}.public-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav-wrap{height:90px;display:flex;align-items:center;justify-content:space-between}.public-nav{display:flex;align-items:center;gap:28px;font-weight:650}.public-nav>a:not(.btn):hover{color:var(--green)}.nav-toggle{display:none;background:#fff;border:1px solid var(--line);border-radius:9px;font-size:22px}.hero{background:linear-gradient(120deg,#fff,#f0f8f3);padding:90px 0}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:70px;align-items:center}.eyebrow,.kicker,.badge{display:inline-flex;background:var(--green-soft);color:var(--green-dark);font-weight:750;border-radius:999px;padding:6px 12px;font-size:14px}.hero h1,.page-hero h1,.detail-hero h1{font-family:Georgia,serif;font-size:clamp(48px,6vw,78px);line-height:1.04;margin:16px 0 24px;color:var(--green)}.hero p{font-size:21px;max-width:720px}.hero-actions{display:flex;gap:12px;margin-top:28px}.hero-card{background:linear-gradient(145deg,#17643f,#338b5e);color:#fff;border-radius:42px;padding:70px 48px;text-align:center;box-shadow:var(--shadow)}.hero-card h2{font-size:30px}.hero-card p{font-size:18px;margin:auto}.hero-icons{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;font-size:56px;margin-bottom:28px}.section{padding:80px 0}.section.soft,.page-hero{background:var(--bg)}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:32px}.section-head h2,.page-heading h1{font-size:38px;margin:8px 0 0}.section-head>a{color:var(--green);font-weight:750}.program-grid,.admin-program-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.program-card,.admin-program-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 4px 18px rgba(10,60,35,.05);transition:.2s}.program-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.program-image,.admin-program-image{height:210px;background:var(--card);display:flex;align-items:center;justify-content:center;font-size:74px;overflow:hidden;position:relative}.program-image img,.admin-program-image img{width:100%;height:100%;object-fit:cover}.program-body,.admin-program-body{padding:22px}.program-body h3,.admin-program-body h3{font-size:23px;margin:12px 0 8px}.program-body p,.admin-program-body p{color:var(--muted);min-height:50px}.program-footer,.card-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:20px}.program-footer small,.program-footer strong{display:block}.benefit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.benefit{padding:30px;border:1px solid var(--line);border-radius:var(--radius)}.benefit>span{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--green-soft);color:var(--green);font-weight:900}.page-hero{padding:70px 0;text-align:center}.page-hero h1{font-size:52px}.page-hero p{font-size:19px;color:var(--muted)}.search-bar{display:flex;gap:10px;max-width:620px;margin:28px auto 0}.search-bar input{flex:1}.detail-hero{padding:70px 0;background:var(--bg)}.detail-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.detail-image{height:430px;border-radius:32px;background:var(--card);display:grid;place-items:center;font-size:110px;overflow:hidden}.detail-image img{width:100%;height:100%;object-fit:cover}.price-box,.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:26px 0}.price-box>div,.info-grid>div{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff}.price-box small,.price-box strong,.info-grid small,.info-grid strong{display:block}.price-box strong{font-size:22px}.content-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:40px}.prose p{font-size:18px;color:var(--muted)}.schedule-card,.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow)}.schedule-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.schedule-row small{display:block;color:var(--muted)}.public-footer{background:var(--green-dark);color:#dcece3;padding:55px 0 20px}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:50px}.footer-grid a{display:block;margin:8px 0}.footer-copy{border-top:1px solid rgba(255,255,255,.15);margin-top:35px;padding-top:18px;color:#abc6b7}.flash{padding:13px 16px;border-radius:12px;margin:18px auto}.flash-success{background:#e8f7ee;color:#155c38}.flash-error{background:#fdecec;color:#8c2626}.empty-state{text-align:center;padding:60px}.auth-body{min-height:100vh;background:linear-gradient(140deg,#eef7f1,#fff);display:grid;place-items:center;padding:30px}.auth-shell{width:min(460px,100%)}.auth-shell>.brand{align-items:center;margin-bottom:25px}.login-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:36px;box-shadow:var(--shadow)}.login-card h1{margin-bottom:5px}.login-card p{color:var(--muted)}label{display:block}label>span{display:block;font-size:14px;font-weight:700;margin-bottom:7px}input,select,textarea{width:100%;border:1px solid #cad7cf;border-radius:11px;padding:12px 13px;background:#fff;outline:none}input:focus,select:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px rgba(23,100,63,.1)}.login-card label{margin:18px 0}.password-wrap{display:flex}.password-wrap input{border-radius:11px 0 0 11px}.password-wrap button{border:1px solid #cad7cf;border-left:0;background:#fff;border-radius:0 11px 11px 0}.back-link{display:block;text-align:center;margin-top:22px;color:var(--green)}
.admin-body{background:var(--bg);overflow-x:hidden}.admin-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;width:280px;background:linear-gradient(180deg,#0f5235,#0b432c);color:#fff;display:flex;flex-direction:column;z-index:60;transition:.25s}.sidebar-head{height:92px;padding:22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-head .brand strong{font-size:24px}.sidebar-head .brand small{color:#d7eadf}.sidebar-close{display:none;background:transparent;border:0;color:#fff;font-size:30px}.sidebar-nav{padding:18px 12px;overflow-y:auto;flex:1}.nav-label{padding:6px 12px 12px;font-size:12px;text-transform:uppercase;letter-spacing:1px;color:#a9cabb}.nav-link,.nav-group-toggle,.nav-sub a{width:100%;display:flex;align-items:center;gap:12px;color:#e9f3ed;border:0;background:transparent;border-radius:12px;padding:12px 14px;text-align:left;cursor:pointer;font-weight:650}.nav-link:hover,.nav-link.active,.nav-sub a:hover,.nav-sub a.active{background:#2f8b5c;color:#fff}.nav-group-toggle i{margin-left:auto}.nav-sub{display:none;padding:4px 0 7px 32px}.nav-group.open .nav-sub{display:block}.nav-sub a{font-size:14px}.sidebar-user{padding:18px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;border-top:1px solid rgba(255,255,255,.1)}.sidebar-user strong,.sidebar-user small{display:block}.sidebar-user small{color:#bcd4c7}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#2f8b5c;color:#fff;font-weight:800}.avatar.small{width:34px;height:34px}.icon-button{border:1px solid var(--line);background:#fff;border-radius:10px;width:38px;height:38px;cursor:pointer}.sidebar-user .icon-button{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.15)}.icon-button.danger{color:var(--danger)}.main-panel{margin-left:280px;min-height:100vh}.admin-header{height:72px;position:sticky;top:0;z-index:20;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 30px;gap:16px}.menu-button{border:1px solid var(--line);background:#fff;border-radius:10px;width:40px;height:40px;font-size:20px;cursor:pointer}.header-spacer{flex:1}.header-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:var(--green-soft);color:var(--green)}.header-profile{display:flex;align-items:center;gap:9px;font-weight:700}.admin-content{padding:30px;max-width:1600px;margin:auto}.page-heading{display:flex;justify-content:space-between;gap:25px;align-items:flex-start;margin-bottom:26px}.page-heading h1{margin:3px 0}.page-heading p{margin:0;color:var(--muted)}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-grid.compact{grid-template-columns:repeat(3,1fr)}.stat-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;align-items:center;gap:15px;min-width:0}.stat-card.wide{grid-column:span 2}.stat-card small,.stat-card strong{display:block}.stat-card strong{font-size:24px;margin-top:3px}.stat-icon{width:48px;height:48px;border-radius:13px;display:grid;place-items:center;font-weight:900}.stat-icon.green{background:#e6f6ec;color:#147344}.stat-icon.blue{background:#e8f0ff;color:#2a64d6}.stat-icon.violet{background:#f1eaff;color:#7547d6}.stat-icon.amber{background:#fff3d8;color:#c28009}.stat-icon.cyan{background:#e1f7fa;color:#138798}.stat-icon.red{background:#fde8e8;color:#c64343}.dashboard-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:20px}.panel{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:0 3px 15px rgba(24,72,48,.03)}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.panel-head h2{margin:0}.panel-head p{margin:3px 0;color:var(--muted)}.panel-head a{color:var(--green);font-weight:750}.list-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.list-row>div{flex:1}.list-row strong,.list-row small{display:block}.list-row small{color:var(--muted)}.time-pill{background:var(--green-soft);color:var(--green);padding:8px 10px;border-radius:10px;font-weight:800}.empty-mini{padding:25px;text-align:center;color:var(--muted)}.filter-bar{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:22px}.search-input{display:flex;align-items:center;gap:8px;flex:1;border:1px solid #cad7cf;border-radius:11px;padding-left:12px}.search-input input{border:0;box-shadow:none}.filter-bar select{width:220px}.admin-program-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-program-image{height:185px}.status{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:800;text-transform:capitalize}.admin-program-image .status{position:absolute;right:12px;top:12px}.status.active,.status.paid{background:#e5f7eb;color:#17643f}.status.inactive,.status.cancelled{background:#f1f2f2;color:#6d7772}.status.unpaid{background:#fde8e8;color:#a22f2f}.status.partial{background:#fff1d6;color:#9b6800}.price-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.price-pair small,.price-pair strong{display:block}.card-actions form{margin-left:auto}.form-panel{padding:0}.form-section{padding:25px;border-bottom:1px solid var(--line)}.form-section h2{font-size:19px;margin:0 0 18px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.form-grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid .full{grid-column:1/-1}.check-label{display:flex;align-items:center;gap:10px}.check-label input{width:auto}.check-label span{margin:0}.form-actions{padding:20px 25px;display:flex;justify-content:flex-end;gap:10px}.table-panel{padding:0;overflow:hidden}.table-responsive{overflow:auto}table{width:100%;border-collapse:collapse;min-width:800px}th,td{text-align:left;padding:15px 18px;border-bottom:1px solid var(--line);vertical-align:middle}th{font-size:12px;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);background:#fafcfb}td strong,td small{display:block}td small{color:var(--muted)}.modal{position:fixed;inset:0;background:rgba(8,26,18,.55);z-index:100;display:none;align-items:center;justify-content:center;padding:20px}.modal.open{display:flex}.modal-card{background:#fff;width:min(780px,100%);max-height:90vh;overflow:auto;border-radius:20px;padding:24px}.modal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.modal-head h2{margin:0}.modal-head button{border:0;background:transparent;font-size:28px}.sidebar-overlay{display:none}
@media(max-width:1100px){.program-grid,.admin-program-grid{grid-template-columns:repeat(2,1fr)}.stat-grid{grid-template-columns:repeat(2,1fr)}.dashboard-grid{grid-template-columns:1fr}.hero-grid{gap:35px}.sidebar{transform:translateX(-100%)}.sidebar.open{transform:translateX(0)}.sidebar-close{display:block}.sidebar-overlay.open{display:block;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:50}.main-panel{margin-left:0}}
@media(max-width:760px){.container,.narrow{width:min(100% - 28px,1180px)}.public-header .nav-wrap{height:72px}.brand strong{font-size:22px}.nav-toggle{display:block}.public-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#fff;border-bottom:1px solid var(--line);padding:18px;flex-direction:column;align-items:stretch;gap:10px}.public-nav.open{display:flex}.hero{padding:50px 0}.hero-grid,.detail-grid,.content-grid,.footer-grid{grid-template-columns:1fr}.hero h1,.page-hero h1,.detail-hero h1{font-size:44px}.hero-card{padding:40px 20px}.hero-icons{font-size:39px}.program-grid,.admin-program-grid,.benefit-grid{grid-template-columns:1fr}.section{padding:55px 0}.section-head{align-items:flex-start;gap:15px}.section-head h2{font-size:31px}.page-heading{flex-direction:column}.admin-content{padding:20px 14px}.admin-header{padding:0 14px}.header-profile span{display:none}.stat-grid,.stat-grid.compact{grid-template-columns:1fr 1fr}.stat-card.wide{grid-column:span 2}.filter-bar{flex-direction:column}.filter-bar select{width:100%}.form-grid,.form-grid.cols-3{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.price-box,.info-grid{grid-template-columns:1fr}.detail-image{height:300px}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}}
@media(max-width:430px){.stat-grid,.stat-grid.compact{grid-template-columns:1fr}.stat-card.wide{grid-column:auto}.hero h1{font-size:39px}.program-image{height:190px}}
@media print{.sidebar,.admin-header,.page-heading .btn,.filter-bar{display:none!important}.main-panel{margin:0}.admin-content{padding:0}.panel,.stat-card{box-shadow:none}}
.category-grid,.coach-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.category-card{display:grid;grid-template-columns:auto 1fr;gap:16px;position:relative}.category-icon{width:58px;height:58px;border-radius:16px;display:grid;place-items:center;font-size:28px}.category-card h3,.coach-card h3{margin:8px 0 4px}.category-card p,.coach-card p{margin:0 0 10px;color:var(--muted)}.category-actions{grid-column:1/-1;display:flex;gap:8px;justify-content:flex-end}.category-actions form{margin:0}.coach-card{display:grid;grid-template-columns:auto 1fr;gap:16px}.coach-avatar{width:72px;height:72px;border-radius:20px;display:grid;place-items:center;background:var(--green-soft);color:var(--green);font-size:28px;font-weight:900;overflow:hidden}.coach-avatar img{width:100%;height:100%;object-fit:cover}.coach-title{display:flex;justify-content:space-between;gap:10px}.coach-main dl{display:grid;gap:8px;margin:12px 0 0}.coach-main dl div{display:grid;grid-template-columns:80px 1fr;gap:8px}.coach-main dt{font-size:12px;color:var(--muted);text-transform:uppercase}.coach-main dd{margin:0;font-size:14px}.wide-modal{width:min(980px,100%)}.row-actions,.heading-actions{display:flex;gap:8px;align-items:center}.row-actions form,.heading-actions form{margin:0}.class-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.class-summary small,.class-summary strong{display:block}.class-summary strong{margin-top:6px}.panel-title-pad{padding:22px 24px 8px}.panel-title-pad h2{margin:0}.panel-title-pad p{margin:5px 0;color:var(--muted)}.status.open,.status.scheduled{background:#e8f0ff;color:#285fc3}.status.completed{background:#e5f7eb;color:#17643f}.status.cancelled{background:#fde8e8;color:#a22f2f}.status.rescheduled,.status.draft{background:#fff1d6;color:#9b6800}select[multiple]{min-height:120px}
@media(max-width:1100px){.category-grid,.coach-grid{grid-template-columns:repeat(2,1fr)}.class-summary{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.category-grid,.coach-grid,.class-summary{grid-template-columns:1fr}.category-card,.coach-card{grid-template-columns:auto 1fr}.heading-actions{width:100%;flex-wrap:wrap}.heading-actions .btn{flex:1}}
/* BMS v2.2 CRM Peserta */
.participant-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.participant-card{display:grid;grid-template-columns:110px 1fr;gap:18px}.participant-photo,.profile-photo,.verify-photo{background:var(--green-soft);color:var(--green);display:grid;place-items:center;overflow:hidden;font-weight:900}.participant-photo{width:110px;height:138px;border-radius:16px;font-size:36px}.participant-photo img,.profile-photo img,.verify-photo img,.member-photo-preview img{width:100%;height:100%;object-fit:cover}.participant-title{display:flex;justify-content:space-between;gap:12px}.participant-title h3{margin:0}.participant-title small{color:var(--muted)}.participant-main dl,.trial-card dl{display:grid;gap:7px;margin:14px 0}.participant-main dl div,.trial-card dl div{display:grid;grid-template-columns:100px 1fr;gap:8px}.participant-main dt,.trial-card dt{font-size:11px;text-transform:uppercase;color:var(--muted)}.participant-main dd,.trial-card dd{margin:0}.profile-form{display:grid;grid-template-columns:180px 1fr;gap:25px}.photo-upload{display:flex;flex-direction:column;gap:10px}.photo-upload small{color:var(--muted)}.member-photo-preview{height:220px;border-radius:18px;background:var(--green-soft);display:grid;place-items:center;color:var(--green);font-weight:800}.profile-layout{display:grid;grid-template-columns:300px 1fr;gap:20px;margin-bottom:20px}.member-profile{text-align:center}.profile-photo{width:160px;height:190px;border-radius:20px;margin:0 auto 15px;font-size:50px}.member-profile h2{margin:0}.member-profile p{color:var(--muted)}.detail-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 25px}.detail-list div{padding:14px 0;border-bottom:1px solid var(--line)}.detail-list span,.detail-list strong{display:block}.detail-list span{font-size:12px;color:var(--muted);text-transform:uppercase}.card-page{min-height:100vh;background:#edf4ef;padding:35px}.card-toolbar{max-width:900px;margin:0 auto 20px;display:flex;justify-content:space-between}.member-card{width:856px;max-width:100%;aspect-ratio:1.586/1;margin:auto;background:linear-gradient(135deg,#0e4d32,#1f7a4c);color:#fff;border-radius:26px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.22);display:flex;flex-direction:column}.member-card-top{display:flex;justify-content:space-between;align-items:center;padding:28px 34px;border-bottom:1px solid rgba(255,255,255,.18)}.member-card-top strong,.member-card-top small{display:block}.member-card-top strong{font-size:28px}.member-card-top small{color:#e9c778}.member-card-top>span{font-weight:800;letter-spacing:1.5px}.member-card-body{display:grid;grid-template-columns:170px 1fr 150px;gap:28px;align-items:center;padding:34px;flex:1}.member-card-photo{height:215px;background:#fff;border-radius:18px;display:grid;place-items:center;color:var(--green);font-size:52px;overflow:hidden}.member-card-photo img{width:100%;height:100%;object-fit:cover}.member-card-info small,.member-card-info strong{display:block}.member-card-info small{opacity:.75;margin-top:10px;text-transform:uppercase;font-size:10px}.member-card-info h2{margin:2px 0;font-size:29px}.member-card-info p{margin:0;font-weight:800;color:#e9c778}.member-card-qr{background:#fff;border-radius:14px;padding:10px;color:#173c2b;text-align:center}.member-card-qr img{width:100%}.member-card-qr small{font-size:10px}.member-card-foot{padding:13px 34px;background:rgba(0,0,0,.16);display:flex;justify-content:space-between;font-weight:700}.print-note{text-align:center;color:var(--muted);font-size:13px}.verify-card{max-width:520px;margin:auto;text-align:center}.verify-photo{width:150px;height:180px;border-radius:18px;margin:0 auto 16px;font-size:48px}.verify-card h2{font-size:30px;margin:10px 0 0}.verify-card.invalid{border-color:#f1bcbc}.trial-pipeline{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:22px}.pipeline-stage{background:#fff;border:1px solid var(--line);border-radius:14px;padding:15px;text-align:center}.pipeline-stage strong,.pipeline-stage span{display:block}.pipeline-stage strong{font-size:23px;color:var(--green)}.pipeline-stage span{font-size:12px;color:var(--muted)}.pipeline-stage.active{border-color:var(--green);box-shadow:0 0 0 2px var(--green-soft)}.trial-board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.trial-card-head{display:flex;justify-content:space-between;gap:15px}.trial-card-head h3{margin:8px 0 0}.trial-card-head small{color:var(--muted)}.wa-link{color:var(--green);font-weight:750}.status.new{background:#e8f0ff;color:#285fc3}.status.contacted{background:#f3e8ff;color:#7547d6}.status.attended{background:#e5f7eb;color:#17643f}.status.converted{background:#dff7ef;color:#08775a}.status.graduated{background:#fff1d6;color:#9b6800}
@media(max-width:1100px){.trial-board{grid-template-columns:repeat(2,1fr)}.trial-pipeline{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.participant-grid,.trial-board,.profile-layout{grid-template-columns:1fr}.participant-card{grid-template-columns:90px 1fr}.participant-photo{width:90px;height:115px}.profile-form{grid-template-columns:1fr}.member-photo-preview{max-width:180px}.detail-list{grid-template-columns:1fr}.trial-pipeline{grid-template-columns:repeat(2,1fr)}.card-page{padding:15px}.member-card{aspect-ratio:auto;min-height:540px}.member-card-body{grid-template-columns:110px 1fr;gap:18px;padding:22px}.member-card-photo{height:150px}.member-card-qr{grid-column:1/-1;width:120px;margin:auto}.member-card-top{padding:20px}.member-card-top strong{font-size:22px}}
@media print{.card-toolbar,.print-note,.public-header,.public-footer{display:none!important}.card-page{padding:0;background:#fff}.member-card{box-shadow:none;margin:0;width:85.6mm;height:53.98mm;border-radius:3mm}.member-card-top{padding:3mm 4mm}.member-card-top strong{font-size:12pt}.member-card-top small,.member-card-top>span{font-size:6pt}.member-card-body{grid-template-columns:18mm 1fr 17mm;gap:3mm;padding:3mm 4mm}.member-card-photo{height:24mm;border-radius:2mm;font-size:18pt}.member-card-info h2{font-size:11pt;margin:0}.member-card-info p,.member-card-info strong{font-size:6.5pt}.member-card-info small{font-size:4.5pt;margin-top:1mm}.member-card-qr{padding:1mm;border-radius:1mm}.member-card-qr small{font-size:4pt}.member-card-foot{padding:1.5mm 4mm;font-size:5pt}}
/* BMS v2.2.2 - CRM Free Trial responsive table and bulk actions */
.trial-page-heading{align-items:center}.trial-pipeline{grid-template-columns:repeat(7,minmax(105px,1fr));overflow-x:auto;padding-bottom:4px}.pipeline-stage{min-width:105px;transition:.2s}.pipeline-stage:hover{transform:translateY(-2px);border-color:#9bc7ac}.trial-toolbar-panel{padding:16px 18px;margin-bottom:16px}.trial-search{display:flex;gap:10px;align-items:center}.trial-search input{max-width:620px}.bulk-action-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;background:#e8f5ed;border:1px solid #bddbc8;border-radius:16px;padding:14px 18px;margin-bottom:14px;position:sticky;top:84px;z-index:12}.bulk-action-bar strong,.bulk-action-bar small{display:block}.bulk-action-bar small{color:var(--muted);font-size:12px}.bulk-action-bar button:disabled{opacity:.45;cursor:not-allowed;transform:none}.trial-table-panel{padding:0;overflow:visible}.table-scroll{overflow-x:auto;border-radius:18px}.trial-table{width:100%;border-collapse:collapse;min-width:1180px}.trial-table th{background:#f3f7f4;color:#53635b;text-transform:uppercase;letter-spacing:.04em;font-size:11px;text-align:left;padding:14px 16px;border-bottom:1px solid var(--line);white-space:nowrap}.trial-table td{padding:16px;border-bottom:1px solid var(--line);vertical-align:middle}.trial-table tbody tr:hover{background:#fbfdfc}.trial-table tbody tr:last-child td{border-bottom:0}.check-col{width:52px;text-align:center!important}.check-col input{width:18px;height:18px;accent-color:var(--green)}.check-done{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#dff7ef;color:#08775a;font-weight:900}.trial-person{display:flex;align-items:center;gap:12px;min-width:185px}.trial-avatar{width:42px;height:42px;border-radius:13px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:850;font-size:17px;flex:0 0 auto}.trial-person strong,.trial-person small,.trial-table td>strong,.cell-muted,.cell-link{display:block}.trial-person small,.cell-muted{color:var(--muted);font-size:12px;margin-top:2px}.cell-link{color:var(--green);font-size:12px;font-weight:700;margin-top:3px}.action-col{width:100px;text-align:right!important}.row-actions{position:relative;display:inline-block}.row-actions summary{list-style:none}.row-actions summary::-webkit-details-marker{display:none}.row-action-popover{position:absolute;right:0;top:calc(100% + 8px);width:330px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 20px 55px rgba(18,65,43,.18);z-index:40;text-align:left}.row-action-popover label{margin-bottom:11px}.row-action-popover form+form,.row-action-popover form+a{display:block;margin-top:10px}.status.scheduled{background:#fff3db;color:#9a6500}.status.cancelled{background:#fdecec;color:#9b2c2c}.status{display:inline-flex;border-radius:999px;padding:6px 10px;font-size:11px;font-weight:800;white-space:nowrap}.status.new{background:#e8f0ff;color:#285fc3}.status.contacted{background:#f3e8ff;color:#7547d6}.status.attended{background:#e5f7eb;color:#17643f}.status.converted{background:#dff7ef;color:#08775a}
@media(max-width:900px){.trial-page-heading{align-items:flex-start}.trial-pipeline{grid-template-columns:repeat(7,110px)}.bulk-action-bar{top:78px}.trial-search{flex-wrap:wrap}.trial-search input{max-width:none;flex:1 1 100%}}
@media(max-width:640px){.trial-page-heading{display:block}.trial-page-heading .btn{margin-top:14px;width:100%}.bulk-action-bar{position:static;align-items:stretch;flex-direction:column}.bulk-action-bar .btn{width:100%}.trial-toolbar-panel{padding:12px}.trial-search .btn{flex:1}.row-action-popover{position:fixed;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:75vh;overflow:auto}}

/* BMS v2.2.3 — CRM drawer navigation fix */
.trial-table-panel{overflow:hidden}
.table-scroll{overflow-x:auto;overflow-y:visible;scrollbar-gutter:stable}
.trial-table{min-width:1120px}
.action-col{position:sticky;right:0;background:#fff;box-shadow:-10px 0 18px rgba(22,63,43,.06);z-index:2}
.trial-table th.action-col{background:#f3f7f4;z-index:3}
.trial-table tbody tr:hover .action-col{background:#fbfdfc}
.drawer-backdrop{position:fixed;inset:0;background:rgba(13,35,25,.38);opacity:0;transition:opacity .18s ease;z-index:998}
.drawer-backdrop.is-open{opacity:1}
.crm-drawer{position:fixed;top:0;right:0;width:min(540px,100vw);height:100dvh;background:#fff;box-shadow:-24px 0 70px rgba(10,43,28,.22);z-index:999;transform:translateX(105%);transition:transform .22s ease;display:flex;flex-direction:column;visibility:hidden}
.crm-drawer.is-open{transform:translateX(0);visibility:visible}
.crm-drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:24px 26px;border-bottom:1px solid var(--line)}
.crm-drawer-head h2{margin:5px 0 3px;font-size:27px}
.crm-drawer-head p{margin:0;color:var(--muted)}
.drawer-close{border:1px solid var(--line);background:#fff;width:42px;height:42px;border-radius:13px;font-size:28px;line-height:1;cursor:pointer;color:#31473b;flex:0 0 auto}
.drawer-close:hover{background:var(--green-soft);border-color:#b9d8c5}
.crm-drawer-body{padding:24px 26px 34px;overflow-y:auto;overscroll-behavior:contain}
.drawer-contact-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;background:#f4f8f5;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:22px}
.drawer-contact-card strong,.drawer-contact-card span{display:block}.drawer-contact-card span{font-size:13px;color:var(--muted);margin-top:2px}
.drawer-form{display:grid;gap:16px}.drawer-form label{margin:0}.drawer-form textarea{resize:vertical;min-height:120px}
.drawer-secondary-action{margin-top:12px;padding-top:18px;border-top:1px solid var(--line)}
.drawer-secondary-action form{margin:0}
body.drawer-open{overflow:hidden}
@media(max-width:640px){.crm-drawer{width:100vw}.crm-drawer-head{padding:19px 18px}.crm-drawer-body{padding:18px}.drawer-contact-card{grid-template-columns:auto 1fr}.drawer-contact-card .btn{grid-column:1/-1;width:100%}.action-col{position:static;box-shadow:none}.trial-table th.action-col{position:static}}

/* BMS v2.2.4 Enrollment & Multi Program */
.participant-toolbar{display:flex;align-items:center;gap:18px;padding:12px 16px;margin-bottom:16px;flex-wrap:wrap}.participant-toolbar .print-class-form{margin-left:auto;display:flex;gap:8px}.participant-check{position:absolute;top:14px;left:14px;z-index:2}.participant-card{position:relative}.participant-card .participant-photo{margin-left:24px}.bulk-summary{padding:16px;border-radius:14px;background:#f0f7f3;display:flex;flex-direction:column;gap:4px}.drawer-form{display:flex;flex-direction:column;height:calc(100% - 90px)}.member-stat{margin-top:18px;padding-top:16px;border-top:1px solid #e8eeeb;display:flex;flex-direction:column}.member-stat strong{font-size:28px;color:#087443}.enrollment-section{margin-top:20px}.enrollment-section .panel-title-pad{display:flex;align-items:center;justify-content:space-between}.enrollment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:16px;padding:0 20px 20px}.enrollment-card{border:1px solid #e1eae5;border-radius:16px;padding:18px;background:#fff}.enrollment-head{display:flex;justify-content:space-between;gap:12px}.enrollment-head small{color:#087443;font-weight:700}.enrollment-head h3{margin:4px 0 0}.enrollment-meta{display:grid;gap:7px;margin:15px 0;color:#53635b;font-size:14px}.enrollment-price{display:flex;align-items:baseline;gap:10px;padding:12px 0;border-top:1px dashed #dce5e0}.enrollment-price strong{color:#087443}.enrollment-card details{border-top:1px solid #edf1ef;padding-top:12px}.enrollment-card summary{cursor:pointer;font-weight:700}.compact-form{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}.compact-form input,.compact-form select{min-width:0}.compact-form .btn{grid-column:1/-1}.transfer-form{margin-top:16px;padding-top:16px;border-top:1px dashed #dce5e0}.card-program-list{max-width:856px;margin:18px auto;padding:16px 22px}.card-program-list ul{margin:8px 0 0;padding-left:20px}.member-card-sheet{display:grid;grid-template-columns:repeat(2,85.6mm);gap:10mm;justify-content:center}.member-card-sheet .member-card{margin:0}.verify-programs{text-align:left;margin:20px 0;padding:16px;border-radius:14px;background:#f4f8f6}.verify-programs h2{font-size:15px;margin:0 0 10px}.verify-programs ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}.verify-programs li{font-size:14px}.participant-filters{align-items:stretch}
@media(max-width:900px){.participant-toolbar .print-class-form{margin-left:0;width:100%}.participant-toolbar .print-class-form select{flex:1}.member-card-sheet{grid-template-columns:85.6mm}.compact-form{grid-template-columns:1fr}}
@media print{.card-program-list,.print-note,.card-toolbar{display:none!important}.member-card-sheet{display:grid;grid-template-columns:repeat(2,85.6mm);gap:8mm}.batch-card-page{padding:0}.member-card{break-inside:avoid;page-break-inside:avoid}}

/* v2.2.5 participant list simplification */
.participant-list{padding:0;overflow:hidden}
.participant-list-head,.participant-row{display:grid;grid-template-columns:38px minmax(240px,1.4fr) minmax(220px,1.3fr) minmax(180px,1fr) 110px 150px;gap:18px;align-items:center}
.participant-list-head{padding:14px 20px;background:#f6faf7;border-bottom:1px solid #dfe9e2;color:#66766d;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.participant-row{padding:16px 20px;border-bottom:1px solid #e7eee9}
.participant-row:last-child{border-bottom:0}
.participant-row:hover{background:#fbfdfb}
.participant-person{display:flex;align-items:center;gap:12px;min-width:0}
.participant-person h3{margin:0 0 3px;font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.participant-person small,.participant-programs small,.participant-parent small{display:block;color:#6f7c74;margin-top:4px;line-height:1.35}
.participant-avatar{width:46px;height:46px;border-radius:12px;overflow:hidden;background:#e8f4ec;display:grid;place-items:center;flex:0 0 46px;font-weight:800;color:#17663d}
.participant-avatar img{width:100%;height:100%;object-fit:cover}
.participant-programs,.participant-parent{min-width:0}
.participant-programs small,.participant-parent small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.participant-actions{display:flex;gap:8px;justify-content:flex-end}
.participant-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px}
.participant-summary-main{display:flex;align-items:center;gap:16px}
.profile-photo.compact{width:86px;height:86px;flex:0 0 86px;margin:0}
.participant-summary-main h2{margin:0 0 4px}.participant-summary-main p{margin:0 0 9px;color:#6e7b73}
.participant-summary-stats{display:grid;grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px;flex:1;max-width:760px}
.participant-summary-stats>div{padding:14px 16px;border:1px solid #e0e9e3;border-radius:14px;background:#fbfdfb}
.participant-summary-stats strong,.participant-summary-stats span{display:block}.participant-summary-stats span{font-size:.8rem;color:#6e7b73;margin-top:4px}
.participant-info-compact{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:6px 20px}
.info-item{padding:14px 16px;border-right:1px solid #e6ede8}.info-item:nth-child(4n){border-right:0}.info-item span,.info-item strong{display:block}.info-item span{font-size:.78rem;color:#718078;margin-bottom:5px}.info-item strong{font-size:.94rem}
.enrollment-list-section{padding:0;overflow:visible}.enrollment-list-section .panel-title-pad{padding:20px 22px;border-bottom:1px solid #e4ece6}
.enrollment-list{padding:0}
.enrollment-row{display:grid;grid-template-columns:minmax(190px,1.2fr) minmax(240px,1.4fr) minmax(170px,1fr) 130px 90px;gap:18px;align-items:center;padding:17px 22px;border-bottom:1px solid #e7eee9}
.enrollment-row:last-child{border-bottom:0}.enrollment-row:hover{background:#fbfdfb}
.enrollment-primary small,.enrollment-schedule small,.enrollment-period small,.enrollment-fee small{display:block;color:#6f7c74;margin-top:4px;line-height:1.35}
.enrollment-primary h3{margin:3px 0 7px;font-size:1.02rem}
.enrollment-manage{position:relative}.enrollment-manage summary{cursor:pointer;font-weight:700;color:#17663d;list-style:none}.enrollment-manage summary::-webkit-details-marker{display:none}
.enrollment-manage-box{grid-column:1/-1;margin-top:14px;padding:16px;background:#f7faf8;border:1px solid #dfe9e2;border-radius:14px;min-width:720px}
.enrollment-row:has(.enrollment-manage[open]){grid-template-columns:minmax(190px,1.2fr) minmax(240px,1.4fr) minmax(170px,1fr) 130px 90px;align-items:start}
.enrollment-manage[open]{grid-column:1/-1}.enrollment-manage[open] summary{margin-left:auto;width:max-content}
@media(max-width:1100px){.participant-list{overflow-x:auto}.participant-list-head,.participant-row{min-width:1050px}.participant-summary{align-items:flex-start}.participant-summary-stats{grid-template-columns:1fr}.participant-info-compact{grid-template-columns:repeat(2,1fr)}.info-item:nth-child(4n){border-right:1px solid #e6ede8}.info-item:nth-child(2n){border-right:0}.enrollment-list{overflow-x:auto}.enrollment-row{min-width:980px}}
@media(max-width:720px){.participant-list-head{display:none}.participant-list{overflow:visible;background:transparent;border:0;box-shadow:none}.participant-row{min-width:0;grid-template-columns:32px 1fr;gap:12px;padding:16px;border:1px solid #e0e9e3;border-radius:16px;margin-bottom:12px;background:#fff}.participant-person{grid-column:2}.participant-programs,.participant-parent,.participant-actions,.participant-row>div:nth-child(5){grid-column:2}.participant-actions{justify-content:flex-start}.participant-summary{display:block}.participant-summary-stats{margin-top:18px;grid-template-columns:1fr}.participant-info-compact{grid-template-columns:1fr}.info-item{border-right:0!important;border-bottom:1px solid #e6ede8}.info-item:last-child{border-bottom:0}.enrollment-list{overflow:visible}.enrollment-row{min-width:0;display:block;padding:18px}.enrollment-row>div{margin-bottom:12px}.enrollment-manage-box{min-width:0}.compact-form{grid-template-columns:1fr!important}}

/* Patch v2.2.7: daftar pelatih ringkas */
.coach-list-panel{overflow-x:auto;overflow-y:visible}.coach-list-table{min-width:900px}.coach-list-person{display:flex;align-items:center;gap:12px;min-width:190px}.coach-list-avatar{width:48px;height:48px;border-radius:14px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:900;overflow:hidden;flex:0 0 auto}.coach-list-avatar img{width:100%;height:100%;object-fit:cover}.coach-list-person strong,.coach-list-person small,.coach-list-table td>small{display:block}.coach-list-person small,.coach-list-table td>small{color:var(--muted);font-size:12px;margin-top:3px}.truncate-cell{display:block;max-width:240px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coach-list-table .row-actions{flex-wrap:nowrap}
/* BMS v2.3 Attendance */
.attendance-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.attendance-filter{display:grid;grid-template-columns:repeat(2,minmax(180px,1fr)) auto;gap:14px;align-items:end}.attendance-filter label{display:grid;gap:7px}.attendance-filter span,.attendance-meta span{font-weight:700;font-size:13px;color:#52645b}.attendance-table td small,.attendance-table td strong,.attendance-list small{display:block}.attendance-meta{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.attendance-meta label{display:grid;gap:7px}.attendance-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;background:#e9f7ef;border:1px solid #c8e5d3;border-radius:18px;margin-bottom:16px}.attendance-toolbar small{display:block;color:#5d6d64;margin-top:4px}.attendance-list{padding:0;overflow:hidden}.attendance-row{display:grid;grid-template-columns:minmax(230px,1.1fr) minmax(360px,1.5fr) minmax(180px,.8fr);gap:18px;align-items:center;padding:16px 20px;border-bottom:1px solid #e5ece8}.attendance-row:last-child{border-bottom:0}.participant-cell{display:flex;align-items:center;gap:12px;min-width:0}.participant-cell img,.participant-cell .avatar{width:46px;height:46px;border-radius:14px;object-fit:cover;flex:0 0 auto}.attendance-options{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.attendance-choice{border:1px solid #d8e3dc;border-radius:12px;padding:10px 8px;text-align:center;font-weight:700;font-size:13px;cursor:pointer;background:#fff}.attendance-choice input{display:none}.attendance-choice.selected{background:#1f6b43;color:#fff;border-color:#1f6b43}.attendance-note{width:100%}.sticky-save{position:sticky;bottom:0;display:flex;justify-content:flex-end;gap:10px;padding:16px 0;background:linear-gradient(transparent,#f5f8f6 24%)}
@media(max-width:1000px){.attendance-stats{grid-template-columns:repeat(2,1fr)}.attendance-row{grid-template-columns:1fr}.attendance-meta{grid-template-columns:1fr}.attendance-options{max-width:520px}}
@media(max-width:640px){.attendance-filter{grid-template-columns:1fr}.attendance-stats{grid-template-columns:1fr 1fr}.attendance-toolbar{align-items:flex-start;flex-direction:column}.attendance-options{grid-template-columns:repeat(2,1fr)}.attendance-row{padding:14px}.sticky-save{padding:12px 0}.sticky-save .btn{flex:1}}

/* BMS v2.3.1 - Attendance layout refinement */
.attendance-heading{align-items:center}.attendance-heading .heading-actions{flex:0 0 auto}.attendance-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:20px}.attendance-stat-card{min-height:112px;padding:20px 22px}.attendance-stat-card small{color:var(--muted);font-weight:700}.attendance-stat-card strong{font-size:30px;line-height:1}.attendance-filter-panel{padding:18px 20px;margin-bottom:20px}.attendance-filter{display:grid;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;gap:14px;align-items:end}.attendance-filter label{display:grid;gap:7px}.attendance-filter label span{font-weight:750;font-size:13px;color:#52645b}.attendance-filter .btn{min-height:46px;padding-inline:24px}.attendance-meeting-panel{overflow:hidden}.attendance-panel-head{padding:22px 24px 18px;display:flex;justify-content:space-between;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line)}.attendance-panel-head h2{margin:0 0 4px}.attendance-panel-head p{margin:0;color:var(--muted)}.attendance-result-count{white-space:nowrap;background:var(--green-soft);color:var(--green);border-radius:999px;padding:8px 12px;font-weight:800;font-size:13px}.attendance-table{min-width:980px}.attendance-table th:last-child,.attendance-table td:last-child{text-align:right}.attendance-table tbody tr:hover{background:#fbfdfc}.attendance-table .status.scheduled{background:#fff3d8;color:#8a5b00}.attendance-empty{padding:54px 24px}.attendance-empty .empty-icon{width:58px;height:58px;border-radius:18px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:26px;margin:0 auto 14px}.attendance-empty .btn{margin-top:10px}
@media(max-width:1100px){.attendance-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.attendance-heading{align-items:flex-start}.attendance-heading .heading-actions,.attendance-heading .btn{width:100%}.attendance-stats{grid-template-columns:1fr 1fr}.attendance-stat-card{min-height:96px;padding:16px}.attendance-stat-card strong{font-size:25px}.attendance-filter{grid-template-columns:1fr}.attendance-filter .btn{width:100%}.attendance-panel-head{flex-direction:column}.attendance-result-count{align-self:flex-start}}
@media(max-width:430px){.attendance-stats{grid-template-columns:1fr}.attendance-stat-card{min-height:auto}}

/* v2.3.1a — pastikan tindakan peserta selalu terlihat */
.participant-list{
  overflow-x:hidden;
  overflow-y:visible;
}
.participant-list-head,
.participant-row{
  grid-template-columns:32px minmax(190px,1.35fr) minmax(170px,1.15fr) minmax(150px,1fr) 84px 118px;
  gap:12px;
}
.participant-actions{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  min-width:0;
  justify-self:stretch;
}
.participant-actions .btn{
  width:100%;
  min-width:0;
  padding:8px 10px;
  white-space:nowrap;
  text-align:center;
}
.participant-list-head > span:last-child{
  text-align:center;
}

/* Tombol profil peserta tidak keluar dari area halaman */
.page-heading .heading-actions{
  flex-wrap:wrap;
  justify-content:flex-end;
}

@media (max-width:1200px) and (min-width:721px){
  .participant-list{overflow-x:auto;}
  .participant-list-head,
  .participant-row{
    min-width:900px;
    grid-template-columns:32px 210px 190px 170px 84px 118px;
  }
  .participant-actions{
    position:sticky;
    right:0;
    z-index:2;
    background:#fff;
    padding-left:8px;
    box-shadow:-10px 0 16px rgba(20,65,42,.05);
  }
  .participant-list-head > span:last-child{
    position:sticky;
    right:0;
    z-index:3;
    background:#f6faf7;
    padding-block:4px;
  }
  .participant-row:hover .participant-actions{background:#fbfdfb;}
}

@media (max-width:720px){
  .participant-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  .participant-actions .btn{
    width:auto;
  }
}
/* BMS v2.3.2 role portals */
.grow{flex:1;min-width:0}.role-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.date-badge{width:46px;min-width:46px;height:50px;border-radius:12px;background:#eef7f2;color:#0b6b45;display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:800;line-height:1}.date-badge small{font-size:10px;text-transform:uppercase;margin-top:4px}.member-switch-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:20px}.member-switch-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff;border:1px solid #e5ece8;border-radius:16px;text-decoration:none;color:inherit;box-shadow:0 7px 22px rgba(20,65,46,.05)}.member-switch-card>span:last-child{margin-left:auto;font-size:26px;color:#739183}.participant-avatar{width:48px;height:48px;border-radius:14px;background:#e9f5ef;color:#0b6b45;display:grid;place-items:center;font-weight:800;overflow:hidden;flex:0 0 auto}.participant-avatar.small{width:38px;height:38px;border-radius:11px}.participant-avatar.large{width:76px;height:76px;border-radius:20px;font-size:26px}.participant-avatar img{width:100%;height:100%;object-fit:cover}.member-profile-head{display:flex;align-items:center;gap:18px;margin-bottom:20px}.progress-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid #edf1ef}.progress-row:last-child{border-bottom:0}.progress-row small,.member-switch-card small{display:block;color:#718078;margin-top:4px}.role-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef7f2;color:#0b6b45;font-size:12px;font-weight:700}.member-access-box{margin-top:18px;padding:16px;border:1px solid #dfeae4;border-radius:14px;background:#f8fbf9}.member-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:280px;overflow:auto}.member-check{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid #e4ebe7;border-radius:11px;background:#fff}.member-check small{display:block;color:#7b8981}.nav-link.disabled{opacity:.48;pointer-events:none}.modal-lg{max-width:760px}
@media(max-width:1000px){.role-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.member-switch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.role-stats,.member-switch-grid,.member-check-grid{grid-template-columns:1fr}.member-profile-head{align-items:flex-start}.page-actions{width:100%;display:flex;gap:8px}.page-actions .btn{flex:1}}
/* BMS v2.4 — Progress Peserta */
.progress-scale-help{padding:18px 22px;margin-bottom:20px;display:flex;gap:24px;align-items:center}.progress-scale-help>div{display:flex;flex-wrap:wrap;gap:8px}.progress-scale-help span{font-size:12px;background:#f1f7f4;border:1px solid #dfeae4;padding:7px 10px;border-radius:999px;color:#4f6459}.progress-participant-list{display:grid;gap:18px}.progress-participant-card{padding:0;overflow:hidden}.progress-participant-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 22px;border-bottom:1px solid var(--line);background:#fbfdfc}.progress-participant-card h2{margin:0 0 3px;font-size:19px}.progress-indicator-grid{padding:6px 22px}.progress-indicator{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:18px;align-items:center;padding:15px 0;border-bottom:1px solid #edf1ef}.progress-indicator:last-child{border-bottom:0}.progress-indicator small{display:block;color:var(--muted);margin-top:4px}.score-options{display:flex;gap:7px}.score-choice input{position:absolute;opacity:0;pointer-events:none}.score-choice span{width:38px;height:38px;border-radius:11px;border:1px solid #dce7e1;background:#fff;display:grid;place-items:center;font-weight:800;color:#64766c;cursor:pointer;transition:.15s}.score-choice:hover span,.score-choice.selected span,.score-choice input:checked+span{border-color:var(--green);background:var(--green);color:#fff;box-shadow:0 5px 14px rgba(11,107,69,.18)}.progress-notes-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:20px 22px;background:#f8fbf9;border-top:1px solid var(--line)}.progress-notes-grid label{display:grid;gap:7px}.progress-notes-grid label span{font-size:13px;font-weight:750;color:#52645b}.indicator-filter{padding:18px 20px;margin-bottom:18px}.indicator-filter form,.indicator-filter label{display:grid;gap:7px}.indicator-filter label{max-width:420px}.indicator-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.indicator-card{display:flex;gap:14px;align-items:flex-start}.indicator-order{width:42px;height:42px;border-radius:12px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-weight:800;flex:0 0 auto}.indicator-card h3{margin:8px 0 5px}.indicator-card p{margin:0;color:var(--muted)}.indicator-actions{display:flex;align-items:center;gap:6px}.member-progress-list{display:grid;gap:18px}.member-progress-card>header{display:flex;justify-content:space-between;gap:18px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:16px}.member-progress-card h2{margin:4px 0}.member-progress-card header p{margin:0;color:var(--muted)}.average-score{width:92px;height:76px;border-radius:16px;background:var(--green-soft);color:var(--green);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto}.average-score strong{font-size:25px}.average-score small{font-size:10px}.member-score-grid{display:grid;gap:13px}.member-score-row{display:grid;grid-template-columns:minmax(170px,1fr) minmax(120px,1fr) 42px;gap:14px;align-items:center}.member-score-row small{display:block;color:var(--muted);margin-top:3px}.score-meter{height:9px;border-radius:999px;background:#e8efeb;overflow:hidden}.score-meter span{display:block;height:100%;border-radius:999px;background:var(--green)}.member-progress-notes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.member-progress-notes>div{background:#f8fbf9;border-radius:13px;padding:14px}.member-progress-notes p{margin:6px 0 0;line-height:1.65;color:#52645b}
@media(max-width:800px){.indicator-grid{grid-template-columns:1fr}.progress-indicator{grid-template-columns:1fr}.score-options{justify-content:flex-start}.progress-notes-grid,.member-progress-notes{grid-template-columns:1fr}.progress-scale-help{align-items:flex-start;flex-direction:column;gap:10px}}
@media(max-width:520px){.progress-participant-card>header,.member-progress-card>header{align-items:flex-start}.score-choice span{width:34px;height:34px}.progress-indicator-grid,.progress-notes-grid{padding-left:15px;padding-right:15px}.member-score-row{grid-template-columns:1fr 40px}.member-score-row .score-meter{grid-column:1/-1;grid-row:2}.average-score{width:76px;height:68px}}
/* BMS v2.5 Finance */
.finance-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:24px}.finance-stats .stat-card{min-height:118px}.heading-actions,.page-actions{display:flex;gap:10px;flex-wrap:wrap}.compact-row{display:flex;align-items:center;justify-content:space-between;padding:18px 20px}.compact-row small{display:block;color:var(--muted);margin-top:4px}.list-stack{display:grid;gap:12px}.narrow-panel{max-width:820px}.money-input{min-width:145px}.notice{background:#effaf5;border:1px solid #c8ead9;color:#245c43;padding:14px 16px;border-radius:12px;margin-top:16px}.payment-list{display:grid;gap:14px}.payment-card{display:grid;grid-template-columns:110px minmax(0,1fr) 320px;gap:18px;align-items:center}.payment-proof{height:90px;border-radius:12px;background:#f3f6f5;overflow:hidden;display:grid;place-items:center}.payment-proof img{width:100%;height:100%;object-fit:cover}.file-proof{font-size:24px;font-weight:800;color:#bd2c2c}.payment-title,.payment-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.payment-title small{display:block;color:var(--muted);margin-top:4px}.payment-meta{justify-content:flex-start;flex-wrap:wrap;margin:12px 0}.payment-meta span{background:#f2f6f4;border-radius:999px;padding:5px 9px;font-size:12px}.payment-meta strong{margin-left:auto}.payment-review textarea{min-height:70px}.review-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}.btn-danger{background:#b42318;color:#fff}.status.pending{background:#fff3cd;color:#806400}.status.approved,.status.paid{background:#dff6e8;color:#17663a}.status.rejected,.status.cancelled{background:#fee4e2;color:#a42c26}.status.revision,.status.partial{background:#e7efff;color:#2456a6}.invoice-member-list{display:grid;gap:12px}.member-invoice-card{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:inherit;transition:.18s}.member-invoice-card:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(16,66,44,.11)}.member-invoice-card h3{margin:9px 0 4px}.invoice-amount{text-align:right}.invoice-amount small{display:block;color:var(--muted)}.finance-member-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:18px;margin-bottom:18px}.invoice-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.invoice-summary>div{background:#f5f8f7;padding:15px;border-radius:14px}.invoice-summary small,.invoice-summary strong{display:block}.invoice-summary strong{font-size:20px;margin-top:5px}.invoice-lines{margin-top:18px;border-top:1px solid #e5ebe8}.invoice-lines>div{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #eef2f0}.discount-line{color:#0b7044}.payment-account-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0}.payment-option{cursor:pointer}.payment-option input{position:absolute;opacity:0}.payment-option>span{display:block;border:1px solid #dbe5e0;border-radius:14px;padding:14px;min-height:88px}.payment-option input:checked+span{border-color:#138552;box-shadow:0 0 0 3px rgba(19,133,82,.12)}.payment-option strong,.payment-option small{display:block}.payment-option small{color:var(--muted);margin-top:4px}.payment-option img{width:130px;max-height:130px;object-fit:contain;margin-top:10px}.receipt-page{min-height:100vh;background:#edf3f0;padding:40px;display:grid;place-items:center}.receipt-card{background:#fff;width:min(620px,100%);border-radius:20px;padding:32px;box-shadow:0 16px 50px rgba(0,0,0,.1)}.receipt-brand{display:flex;justify-content:space-between;border-bottom:2px solid #155f3e;padding-bottom:15px}.receipt-no{text-align:right;margin:18px 0;font-weight:700}.receipt-card dl{display:grid;grid-template-columns:160px 1fr;gap:10px 16px}.receipt-card dt{color:#66756e}.receipt-card dd{margin:0}.receipt-footer{margin:24px 0;padding-top:15px;border-top:1px dashed #ccd8d2;color:#66756e}
@media(max-width:1050px){.payment-card{grid-template-columns:90px 1fr}.payment-review{grid-column:1/-1}.finance-stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.finance-stats,.finance-member-grid,.payment-account-grid{grid-template-columns:1fr}.payment-card{grid-template-columns:1fr}.payment-proof{height:180px}.member-invoice-card{align-items:flex-start}.invoice-summary{grid-template-columns:1fr 1fr}.receipt-page{padding:12px}.receipt-card{padding:20px}}
@media print{.no-print,.sidebar,.admin-header{display:none!important}.receipt-page{padding:0;background:#fff}.receipt-card{box-shadow:none;width:100%}}
/* BMS v2.5.2 Finance UI Refresh — scoped, safe override */
.finance-page-heading{align-items:flex-start;margin-bottom:28px}.finance-page-heading h1{font-size:clamp(34px,4vw,52px);line-height:1.08}.finance-heading-actions{display:flex;gap:10px;flex-wrap:wrap}.finance-alert{padding:14px 17px;margin:0 0 20px;border:1px solid #f0d48d;background:#fff8df;color:#745c16;border-radius:14px}.finance-metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:0 0 24px}.finance-metric{display:flex;align-items:center;gap:16px;min-height:132px;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 7px 24px rgba(18,65,43,.055)}.finance-metric-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;font-size:24px;font-weight:900;flex:0 0 auto}.finance-metric-icon.green{background:#e3f4e9;color:#167044}.finance-metric-icon.blue{background:#e8efff;color:#365fd2}.finance-metric-icon.amber{background:#fff1cc;color:#a56a00}.finance-metric-icon.violet{background:#f0e9ff;color:#7142b8}.finance-metric-icon.red{background:#fde7e7;color:#bd3939}.finance-metric small{display:block;color:#51645a;font-size:14px}.finance-metric strong{display:block;font-size:27px;line-height:1.2;margin:7px 0 3px;white-space:nowrap}.finance-metric p{margin:0;color:#89958e;font-size:13px}.finance-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(340px,.75fr);gap:20px;margin-bottom:20px}.finance-chart-card,.finance-overdue-card,.finance-table-card{padding:24px}.finance-chart-card .panel-head,.finance-overdue-card .panel-head,.finance-table-card .panel-head{margin-bottom:20px}.finance-bars{height:220px;display:flex;align-items:flex-end;justify-content:space-around;gap:18px;padding:24px 8px 4px;border-top:1px solid #edf1ef}.finance-bar-item{height:100%;flex:1;min-width:52px;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:7px}.finance-bar-item i{width:min(46px,75%);border-radius:10px 10px 3px 3px;background:linear-gradient(180deg,#42a870,#17643f)}.finance-bar-item small{color:#6f7d75;font-size:12px}.finance-bar-value{font-size:10px;color:#617168;white-space:nowrap}.finance-compact-list{display:grid}.finance-compact-list>div{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 0;border-bottom:1px solid #edf1ef}.finance-compact-list>div:last-child{border-bottom:0}.finance-compact-list strong,.finance-compact-list small{display:block}.finance-compact-list small{color:var(--muted);margin-top:3px}.finance-compact-list b{white-space:nowrap}.finance-empty{padding:32px 16px;text-align:center;color:#78867f}.finance-table{width:100%;border-collapse:collapse}.finance-table th{padding:15px 16px;background:#f7faf8;color:#627169;font-size:12px;letter-spacing:.04em;text-transform:uppercase;text-align:left;white-space:nowrap}.finance-table td{padding:16px;border-top:1px solid #edf1ef;vertical-align:middle}.finance-table tr:hover td{background:#fbfdfc}.finance-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px;padding:7px;background:#edf4f0;border:1px solid #dfe8e3;border-radius:15px;width:max-content;max-width:100%}.finance-tabs a{padding:10px 15px;border-radius:10px;color:#52665b;font-weight:750}.finance-tabs a.active{background:#fff;color:var(--green);box-shadow:0 3px 12px rgba(18,65,43,.09)}.finance-payment-list{display:grid;gap:16px}.finance-payment-card{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(310px,.8fr);gap:20px;align-items:stretch;padding:20px}.finance-proof{min-height:128px;border-radius:15px;background:#f0f5f2;overflow:hidden;display:grid;place-items:center;color:#6d7b74;font-weight:800}.finance-proof a{width:100%;height:100%;display:grid;place-items:center}.finance-proof img{width:100%;height:100%;object-fit:cover}.finance-payment-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.finance-payment-title h3{margin:0 0 4px;font-size:20px}.finance-payment-title p{margin:0;color:var(--muted);font-size:13px}.finance-payment-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:18px 0}.finance-payment-meta span{padding:6px 10px;border-radius:999px;background:#edf4f0;color:#4b6256;font-size:12px}.finance-payment-meta strong{margin-left:auto;font-size:20px}.finance-sender{margin:0;color:#576a60}.finance-review-form{padding-left:20px;border-left:1px solid #e5ebe8}.finance-review-form label{display:grid;gap:7px}.finance-review-form label span{font-size:12px;font-weight:750;color:#56695f}.finance-review-form textarea{min-height:88px}.finance-review-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.finance-review-actions .btn{flex:1;min-width:92px}.finance-page-heading+.panel,.finance-page-heading~.panel{border-radius:20px}.finance-page-heading~.list-stack .compact-row{border-radius:16px;box-shadow:0 5px 18px rgba(18,65,43,.05)}
/* Normalize all finance forms and tables */
.page-heading .heading-actions{display:flex;gap:10px;flex-wrap:wrap}.filter-bar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(180px,260px) auto;gap:12px;margin-bottom:18px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:18px}.table-panel{overflow:hidden}.table-panel .table-responsive{overflow-x:auto}.narrow-panel{padding:26px}.notice{line-height:1.65}.status{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:800;text-transform:capitalize}.btn-danger{border-color:#b42318}
@media(max-width:1200px){.finance-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-dashboard-grid{grid-template-columns:1fr}.finance-payment-card{grid-template-columns:110px minmax(0,1fr)}.finance-review-form{grid-column:1/-1;padding:18px 0 0;border-left:0;border-top:1px solid #e5ebe8}}
@media(max-width:760px){.finance-page-heading{gap:18px}.finance-heading-actions,.finance-page-heading .btn{width:100%}.finance-heading-actions .btn{flex:1}.finance-metric-grid{grid-template-columns:1fr}.finance-metric{min-height:110px;padding:18px}.finance-metric strong{font-size:24px}.finance-tabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.finance-tabs a{white-space:nowrap}.finance-payment-card{grid-template-columns:1fr}.finance-proof{height:210px}.finance-review-form{grid-column:auto}.finance-payment-meta strong{width:100%;margin-left:0}.filter-bar{grid-template-columns:1fr}.finance-bars{overflow-x:auto;justify-content:flex-start}.finance-bar-item{min-width:65px}.finance-table th,.finance-table td{padding:13px 12px}}
@media print{.finance-tabs,.finance-heading-actions,.finance-page-heading>.btn{display:none!important}.finance-metric-grid{grid-template-columns:repeat(4,1fr)}.finance-metric{box-shadow:none}}

/* BMS v2.5.3 — Finance portal final */
.finance-mini-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0 24px}.finance-mini-stats>div{padding:16px 18px;border:1px solid var(--line,#dfe8e2);border-radius:16px;background:#f8fbf9;display:flex;flex-direction:column;gap:6px}.finance-mini-stats small{color:var(--muted,#68766e);font-size:.85rem}.finance-mini-stats strong{font-size:1.3rem;color:var(--ink,#10231a)}
.member-finance-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.member-finance-columns h3{margin:0 0 12px;font-size:1rem}.finance-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line,#e2eae5);color:inherit;text-decoration:none}.finance-history-row:last-child{border-bottom:0}.finance-history-row>div{display:flex;flex-direction:column;gap:4px;min-width:0}.finance-history-row>div:last-child{align-items:flex-end;flex-shrink:0}.finance-history-row strong,.finance-history-row small{overflow:hidden;text-overflow:ellipsis}.text-link{font-weight:700;color:var(--primary,#17643a);text-decoration:none;font-size:.86rem}.member-finance-overview,.participant-finance-section,.coach-finance-panel{margin-top:24px}
.coach-payment-summary{display:flex;flex-wrap:wrap;gap:6px}.coach-payment-summary .status{font-size:.74rem;padding:5px 8px}.status.pending,.status.partial{background:#fff3d6;color:#9a6500}.status.unpaid{background:#fde7e7;color:#a62c2c}.status.paid,.status.approved{background:#e4f5e9;color:#17643a}
.coach-finance-panel table th,.coach-finance-panel table td{vertical-align:middle}.coach-finance-panel .status{white-space:nowrap}
@media(max-width:900px){.finance-mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.member-finance-columns{grid-template-columns:1fr}}
@media(max-width:560px){.finance-mini-stats{grid-template-columns:1fr}.finance-history-row{align-items:flex-start}.finance-history-row>div:last-child{align-items:flex-start}.coach-payment-summary{min-width:180px}}
/* v2.5.3a — Honor role correction */
.honor-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:18px}.honor-stats .stat-card{min-height:120px}.action-details{position:relative}.action-details>summary{list-style:none;cursor:pointer}.action-details>summary::-webkit-details-marker{display:none}.action-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:40;width:320px;max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--line,#e5e7eb);border-radius:16px;padding:16px;box-shadow:0 18px 50px rgba(15,23,42,.18)}.action-popover label{display:grid;gap:5px;margin-bottom:10px}.action-popover hr{border:0;border-top:1px solid #e5e7eb;margin:14px 0}.honor-slip{max-width:760px}.honor-slip .receipt-items .total td{font-size:1.1rem;font-weight:800;border-top:2px solid #173f2d}.status.approved{background:#e0f2fe;color:#075985}.status.paid{background:#dcfce7;color:#166534}.status.cancelled{background:#fee2e2;color:#991b1b}.status.draft{background:#f1f5f9;color:#475569}@media(max-width:800px){.honor-stats{grid-template-columns:1fr}.action-popover{position:fixed;left:12px;right:12px;top:70px;width:auto;max-height:calc(100vh - 90px)}}

/* BMS v2.5.3c — Honor list + right drawer */
.honor-period-filter{display:flex;gap:10px;align-items:center}.honor-period-filter input{min-width:220px}.honor-list{padding:0;overflow:hidden}.honor-list-head,.honor-list-row{display:grid;grid-template-columns:minmax(230px,1.4fr) minmax(135px,.8fr) 80px minmax(150px,.9fr) 140px 90px;gap:18px;align-items:center;padding:17px 22px}.honor-list-head{background:#f6faf7;border-bottom:1px solid var(--line);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#66766d}.honor-list-row{border-bottom:1px solid #edf1ef}.honor-list-row:last-of-type{border-bottom:0}.honor-list-row:hover{background:#fbfdfc}.honor-list-row>div{min-width:0}.honor-list-row strong,.honor-list-row small{display:block}.honor-list-row small{color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis}.honor-coach-cell{display:flex;align-items:center;gap:12px}.honor-avatar{width:46px;height:46px;border-radius:14px;background:var(--green-soft);color:var(--green);display:grid;place-items:center;font-size:20px;font-weight:900;flex:0 0 auto}.honor-drawer{width:min(560px,100%)}.honor-drawer-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px 24px;background:#f5faf7;border-bottom:1px solid var(--line)}.honor-drawer-summary>div{padding:14px;background:#fff;border:1px solid var(--line);border-radius:14px}.honor-drawer-summary small,.honor-drawer-summary strong{display:block}.honor-drawer-summary small{color:var(--muted)}.honor-drawer-summary strong{font-size:20px;margin-top:4px}.honor-drawer-form{display:grid;gap:14px}.honor-drawer-form h3{margin:0 0 2px}.honor-divider{border:0;border-top:1px solid var(--line);margin:26px 0}.drawer-open{overflow:hidden}
@media(max-width:1100px){.honor-list{overflow-x:auto}.honor-list-head,.honor-list-row{min-width:980px}}
@media(max-width:760px){.honor-period-filter{width:100%;flex-direction:column}.honor-period-filter input,.honor-period-filter .btn{width:100%}.honor-list-head{display:none}.honor-list{overflow:visible;background:transparent;border:0;box-shadow:none}.honor-list-row{min-width:0;display:grid;grid-template-columns:1fr auto;gap:12px;padding:18px;margin-bottom:12px;background:#fff;border:1px solid var(--line);border-radius:16px}.honor-list-row>div:nth-child(2),.honor-list-row>div:nth-child(3),.honor-list-row>div:nth-child(4),.honor-list-row>div:nth-child(5){grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid #edf1ef}.honor-list-row>div:nth-child(2)::before{content:'Skema';color:var(--muted)}.honor-list-row>div:nth-child(3)::before{content:'Sesi';color:var(--muted)}.honor-list-row>div:nth-child(4)::before{content:'Total Honor';color:var(--muted)}.honor-list-row>div:nth-child(5)::before{content:'Status';color:var(--muted)}.honor-list-row>div:last-child{grid-column:2;grid-row:1}.honor-drawer-summary{grid-template-columns:1fr}.honor-drawer .form-grid{grid-template-columns:1fr}}

/* BMS 2.5.4 - Member account management */
.member-account-stats{margin-bottom:24px}.member-account-list{display:flex;flex-direction:column}.member-account-row{display:grid;grid-template-columns:58px minmax(0,1fr) 130px 90px;gap:18px;align-items:center;padding:20px 24px;border-top:1px solid var(--border,#dfe8e2)}.member-account-row:first-child{border-top:0}.member-account-avatar{width:52px;height:52px;border-radius:16px;background:#e6f4eb;color:#187244;display:grid;place-items:center;font-size:22px;font-weight:800}.member-account-main{min-width:0}.member-account-main>strong{display:block;font-size:18px}.member-account-main>span{display:block;color:#6d7c74;margin-top:4px}.member-chip-wrap{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.member-chip{background:#f1f7f3;border:1px solid #dcebe1;border-radius:999px;padding:5px 10px;font-weight:700;font-size:13px}.member-chip small{font-weight:500;color:#758079}.member-account-status{display:flex;flex-direction:column;align-items:flex-start;gap:6px}.member-account-status small{color:#718078}.member-account-actions{text-align:right}.drawer-check-grid{max-height:340px;overflow:auto;padding-right:4px}.create-member-grid{max-height:320px;overflow:auto}.member-check.already-linked{background:#fff9e8}.mt-16{margin-top:16px}.btn-danger{background:#b83a32!important;border-color:#b83a32!important;color:#fff!important}
@media(max-width:900px){.member-account-row{grid-template-columns:52px 1fr auto}.member-account-status{grid-column:2}.member-account-actions{grid-column:3;grid-row:1/3}.member-account-stats{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.member-account-row{grid-template-columns:46px 1fr;padding:16px}.member-account-avatar{width:44px;height:44px}.member-account-status,.member-account-actions{grid-column:2}.member-account-actions{text-align:left}.member-account-stats{grid-template-columns:1fr}.member-check-grid{grid-template-columns:1fr!important}}
/* v2.5.6 member portal refresh */
.member-welcome{margin-bottom:26px}.member-family-section{margin-bottom:28px}.section-title-row{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:14px}.section-title-row h2{margin:5px 0 0;font-size:28px}.member-count{padding:8px 13px;border-radius:999px;background:#e8f4ec;color:#14532d;font-weight:800}.member-family-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.member-family-card{background:#fff;border:1px solid #dfe8e2;border-radius:20px;box-shadow:0 10px 28px rgba(20,83,45,.06);overflow:hidden}.member-family-main{display:flex;align-items:center;gap:16px;padding:20px;color:inherit;text-decoration:none}.member-avatar-lg{width:66px;height:66px;flex:0 0 66px}.member-family-main strong{display:block;font-size:18px;margin-bottom:4px}.member-family-main small{display:block;color:#738078}.program-pill{display:inline-block;margin-top:8px;padding:5px 10px;border-radius:999px;background:#edf7f0;color:#176438;font-size:12px;font-weight:800}.member-arrow{font-size:30px;color:#176438}.member-quick-actions{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #edf1ee}.member-quick-actions a{padding:12px 8px;text-align:center;text-decoration:none;color:#176438;font-weight:700;font-size:13px;border-right:1px solid #edf1ee}.member-quick-actions a:last-child{border-right:0}.member-quick-actions a:hover{background:#f3f8f5}.member-dashboard-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:20px}.member-panel{min-height:280px}.member-agenda-row,.attendance-summary-row{display:flex;align-items:center;gap:14px;padding:15px 0;border-bottom:1px solid #edf1ee}.attendance-summary-row b{font-size:20px;color:#14532d}.progress-track{height:7px;background:#e9efeb;border-radius:999px;margin-top:9px;overflow:hidden}.progress-track span{display:block;height:100%;background:#2d9159;border-radius:inherit}.member-empty{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#738078}.member-empty span{font-size:34px;margin-bottom:10px}.member-empty strong{color:#27352d;margin-bottom:5px}@media(max-width:900px){.member-dashboard-grid{grid-template-columns:1fr}}@media(max-width:620px){.member-family-grid{grid-template-columns:1fr}.member-quick-actions{grid-template-columns:repeat(2,1fr)}.member-quick-actions a:nth-child(2){border-right:0}.member-quick-actions a:nth-child(-n+2){border-bottom:1px solid #edf1ee}}

.invoice-row-actions{display:flex;gap:7px;align-items:center;white-space:nowrap}.invoice-row-actions form{margin:0}.finance-delete-notice{margin-bottom:16px}.member-direct-hint{font-size:12px;color:var(--muted)}

/* =========================================================
   BMS v3.0 Professional UI — consolidated operational layer
   ========================================================= */
:root{--pro-card-radius:20px;--pro-shadow:0 14px 38px rgba(19,73,44,.08);--pro-soft:#f5faf7}
.pro-page-heading{margin-bottom:24px}.pro-page-heading h1{letter-spacing:-.035em}.pro-stat-grid{gap:16px}.pro-stat-grid .stat-card{border-radius:18px;box-shadow:var(--pro-shadow)}
.pro-filter-panel{border-radius:18px;box-shadow:var(--pro-shadow);margin-bottom:26px}.pro-filter-grid{display:grid;grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) auto;gap:14px;align-items:end}.pro-filter-grid label{display:grid;gap:7px}.pro-filter-grid label>span{font-size:12px;font-weight:800;color:var(--muted)}
.attendance-card-section{margin-top:8px}.attendance-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}.attendance-section-head h2{font-size:30px;margin:0 0 4px}.attendance-section-head p{margin:0;color:var(--muted)}.meeting-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.meeting-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid var(--line);border-radius:var(--pro-card-radius);box-shadow:var(--pro-shadow);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.meeting-card:hover{transform:translateY(-2px);box-shadow:0 20px 46px rgba(19,73,44,.11)}.meeting-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 0}.meeting-date-box{display:flex;align-items:baseline;gap:8px}.meeting-date-box strong{font-size:34px;line-height:1;color:var(--green)}.meeting-date-box span{font-weight:800;color:var(--muted)}.meeting-card-body{padding:18px 20px}.meeting-title span{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--green-soft);color:var(--green);font-size:12px;font-weight:800}.meeting-title h3{font-size:24px;margin:9px 0 18px}.meeting-meta{display:grid;gap:11px;margin:0}.meeting-meta>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding-top:11px;border-top:1px solid #edf2ef}.meeting-meta dt{color:var(--muted);font-size:12px;font-weight:800}.meeting-meta dd{margin:0;font-weight:700;overflow-wrap:anywhere}.meeting-card-foot{margin-top:auto;padding:16px 20px;background:#f8fbf9;border-top:1px solid var(--line)}.meeting-card-foot .btn{width:100%;justify-content:center}.attendance-result-count{display:inline-flex;align-items:center;padding:9px 13px;border-radius:999px;background:var(--green-soft);color:var(--green);font-weight:800;white-space:nowrap}
/* Honor drawer: desktop workspace, compact forms and visible actions */
.honor-drawer{width:min(720px,100%)!important}.honor-drawer .crm-drawer-head h2{font-size:30px;margin:7px 0 4px}.honor-drawer .crm-drawer-head p{margin:0}.honor-drawer-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.honor-drawer-summary:after{content:'Perhitungan dapat diperbarui sebelum status Dibayar.';display:flex;align-items:center;padding:14px;border-radius:14px;background:#eaf5ee;color:#145a36;font-weight:700;font-size:13px}.honor-drawer-form textarea{min-height:86px}.honor-drawer-form .full-button{min-height:50px}.honor-list-row{transition:background .15s ease}.honor-list-row:hover{background:#f9fcfa}
@media(max-width:1100px){.meeting-card-grid{grid-template-columns:1fr}.pro-filter-grid{grid-template-columns:1fr 1fr}.pro-filter-grid .btn{grid-column:1/-1;width:100%;justify-content:center}.honor-drawer-summary{grid-template-columns:1fr 1fr}.honor-drawer-summary:after{grid-column:1/-1}}
@media(max-width:700px){.attendance-section-head{align-items:flex-start;flex-direction:column}.attendance-section-head h2{font-size:26px}.pro-filter-grid{grid-template-columns:1fr}.meeting-card-top{align-items:flex-start}.meeting-meta>div{grid-template-columns:1fr;gap:3px}.honor-drawer{width:100%!important}.honor-drawer-summary{grid-template-columns:1fr}.honor-drawer-summary:after{grid-column:auto}.honor-drawer-form .full-button{position:static}.crm-drawer-foot{padding-bottom:max(14px,env(safe-area-inset-bottom))}}
