:root{--navy:#102f57;--blue:#2058a3;--blue2:#2f68cb;--line:#cbd8e7;--pale:#eaf2fb;--bg:#f4f7fb;--text:#24344c;--muted:#67758a;--danger:#b42318;--orange:#e68418;--ok:#087f5b;--shadow:0 4px 16px rgba(19,49,89,.08)}
*{box-sizing:border-box}[hidden]{display:none!important}html{font-size:14px}body{margin:0;background:var(--bg);color:var(--text);font-family:"Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif}.site-head{min-height:58px;background:var(--navy);color:#fff;display:flex;align-items:center;padding:0 3.2vw;gap:20px;position:sticky;top:0;z-index:30;box-shadow:0 2px 10px #0002}.brand{color:#fff;text-decoration:none;font-size:1.15rem;font-weight:800;white-space:nowrap}.top-nav{display:flex;height:58px;align-items:stretch;flex:1}.top-nav a,.club-nav a{display:flex;align-items:center;padding:0 13px;color:#e9f2ff;text-decoration:none;font-weight:700;white-space:nowrap}.top-nav a:hover,.top-nav a.active{background:#244b79;color:#fff}.account{display:flex;align-items:center;gap:7px;font-size:.82rem;white-space:nowrap}.inline{display:inline-flex;margin:0}.link-btn,.mode{border:0;background:transparent;color:#fff;text-decoration:underline;cursor:pointer;font:inherit}.mode{padding:4px 8px;border:1px solid #ffffff66;border-radius:4px;text-decoration:none}.nav-toggle{display:none;background:transparent;border:0;color:white;font-size:1.4rem}.club-nav{height:42px;background:#fff;display:flex;align-items:stretch;padding:0 3.2vw;border-bottom:1px solid var(--line);overflow-x:auto;position:sticky;top:58px;z-index:20}.club-nav a{color:#35516f;font-size:.85rem;padding:0 12px}.club-nav a.active{color:var(--blue);background:var(--pale);border-bottom:3px solid var(--blue)}
.role-member .report-toolbar{display:none!important}.member-report-shortcuts{margin-top:2px}
.operator-permission-card{padding:12px 14px}.operator-permission-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.operator-permission-head h2{margin:0 0 2px}.operator-permission-head p{margin:0;color:var(--muted);font-size:.76rem}.menu-access-grid{display:grid;grid-template-columns:repeat(6,minmax(105px,1fr));gap:7px}.menu-access-check{justify-content:center;border:1px solid var(--line);border-radius:5px;background:#f7faff;padding:5px 8px;font-weight:700}.access-section-title{font-size:1rem;color:#264566;margin:10px 2px 7px}.member-access-panel h3{font-size:.86rem;margin:12px 0 6px}.member-access-users{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:6px;margin-top:6px}.member-access-user{display:flex;align-items:flex-start;gap:7px;border:1px solid var(--line);border-radius:5px;background:#fff;padding:7px;cursor:pointer}.member-access-user input{width:auto;min-height:0;margin-top:2px}.member-access-user span{display:grid;min-width:0}.member-access-user strong,.member-access-user small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-access-user small{color:var(--muted);font-size:.68rem}.access-select-all{font-weight:800}
.page{width:min(1160px,94vw);margin:22px auto 60px}.page.wide{width:min(1520px,97vw)}.page.program-page{margin-top:12px}.page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:15px;margin:0 0 14px}.page-title h1{margin:0;font-size:1.55rem;color:#1b2f49}.page-title p{margin:5px 0 0;color:var(--muted);font-size:.88rem}.program-page .page-title{align-items:center;gap:7px;margin-bottom:5px}.program-page .page-title>div:first-child{min-width:0}.program-page .page-title h1{font-size:1.05rem;line-height:1.05}.program-page .page-title p{margin-top:1px;font-size:.62rem;line-height:1.05;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.title-tools{display:flex;gap:6px;align-items:center}.panel{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;padding:14px;margin-bottom:14px}.panel h2{font-size:1rem;margin:0 0 10px;color:#264566}.form-bar{display:grid;grid-template-columns:repeat(12,minmax(70px,1fr));gap:7px;align-items:end}.field{display:flex;flex-direction:column;gap:4px;min-width:0;grid-column:span 2}.field.w1{grid-column:span 1}.field.w3{grid-column:span 3}.field.w4{grid-column:span 4}.field.w6{grid-column:span 6}.field>span{font-size:.76rem;color:#53657b;font-weight:700;white-space:nowrap}input,select,textarea{width:100%;min-height:34px;border:1px solid #b9c8d9;border-radius:4px;background:#fff;color:var(--text);font:inherit;padding:6px 8px}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{outline:2px solid #2d6cdf33;border-color:var(--blue2)}.check{display:inline-flex;align-items:center;gap:5px;min-height:34px}.check input{width:auto;min-height:0}.form-actions{display:flex;gap:5px;align-items:end;grid-column:span 2}.btn{min-height:34px;padding:6px 13px;border-radius:4px;border:1px solid transparent;font:inherit;font-weight:700;cursor:pointer;white-space:nowrap}.btn.primary{background:var(--blue2);color:#fff}.btn.secondary{background:#fff;border-color:#9fb1c5;color:#304b6b}.btn.danger{background:#fff3f2;border-color:#f0aaa4;color:var(--danger)}.btn:disabled{opacity:.45;cursor:not-allowed}.mini{display:inline-flex;align-items:center;min-height:24px;padding:2px 7px;border:1px solid #aebdd0;border-radius:4px;font-size:.72rem;color:#345374;background:#fff;text-decoration:none;white-space:nowrap}.mini.danger{color:var(--danger);border-color:#e2aaa6}.flash{padding:10px 13px;border-radius:5px;margin-bottom:12px;font-weight:700}.flash.success{background:#e5f6ef;color:#076345}.flash.error{background:#fff0ef;color:#9d2017}.flash.info{background:#eaf2ff;color:#1d4e8f}
.filter-bar{display:flex;flex-wrap:wrap;gap:6px;align-items:end}.filter-bar .field{min-width:110px;flex:0 1 170px}.fee-filter-bar .fee-year-filter{min-width:76px;flex:0 0 94px}.input-result-panel{margin-top:12px}.input-result-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 9px;background:#fff;border:1px solid var(--line);border-bottom:0;border-radius:5px 5px 0 0}.input-result-head h2{margin:0;color:#264566;font-size:.92rem}.input-result-head p{margin:2px 0 0;color:var(--muted);font-size:.72rem}.member-extra-toggle{margin-top:10px}.member-extra{margin-top:8px;padding-top:8px;border-top:1px dashed var(--line)}.inline-status{display:inline-flex;align-items:center;min-height:34px;color:var(--ok);font-size:.76rem;font-weight:800;white-space:nowrap}.report-tabs{display:flex;flex-wrap:wrap;gap:5px;margin:0 0 12px}.report-tabs a{display:inline-flex;align-items:center;min-height:32px;padding:5px 11px;border:1px solid #aebdd0;border-radius:4px;background:#fff;color:#345374;font-size:.8rem;font-weight:700;text-decoration:none}.report-tabs a.active{background:var(--blue);border-color:var(--blue);color:#fff}.report-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;margin-bottom:9px}.report-tools-row>.report-toolbar{margin:0 0 0 auto}.capture-area{width:max-content;min-width:100%;background:#fff;border:1px solid var(--line);border-radius:7px;padding:18px}.capture-area.capture-rendering{border:0;border-radius:0;padding:6px}.capture-rendering .capture-title{font-size:1.25rem;margin-bottom:3px}.capture-rendering .capture-subtitle{font-size:.76rem;margin-bottom:7px}.capture-area.capture-rendering .data-table{width:auto;min-width:100%;font-size:.7rem}.capture-area.capture-rendering .data-table th,.capture-area.capture-rendering .data-table td,.capture-area.capture-rendering .data-table.compact th,.capture-area.capture-rendering .data-table.compact td{padding:3px 4px;font-size:.7rem}.capture-rendering .summary{gap:4px;margin:5px 0 7px}.capture-rendering .summary-card{padding:5px 7px}.capture-rendering .split{gap:6px}.capture-title{margin:0 0 5px;color:#1b2f49;font-size:1.55rem}.capture-subtitle{margin:0 0 14px;color:var(--muted);font-size:.88rem}.capture-area .table-wrap{overflow:visible}.capture-area .data-table{width:100%}.contact-card-grid{display:grid;grid-template-columns:repeat(3,260px);gap:10px;width:max-content}.contact-card{width:260px;aspect-ratio:1.586;display:flex;flex-direction:column;justify-content:space-between;background:#fff;border:1px solid #aebdd0;border-radius:8px;padding:15px 16px;box-shadow:0 2px 7px rgba(19,49,89,.08)}.contact-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border-bottom:2px solid var(--blue);padding-bottom:8px}.contact-card-head strong{font-size:1.2rem;color:#173b68}.contact-card-head span{font-size:.76rem;color:#53657b}.contact-card dl{display:grid;gap:7px;margin:9px 0 0}.contact-card dl div{display:grid;grid-template-columns:52px 1fr;gap:7px;align-items:center}.contact-card dt{color:#66768b;font-size:.72rem;font-weight:700}.contact-card dd{margin:0;color:#21364f;font-weight:700}.table-wrap{width:100%;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:4px}.data-table{width:100%;border-collapse:separate;border-spacing:0;white-space:nowrap;font-size:.84rem}.data-table th{position:sticky;top:0;z-index:2;background:#dce9f8;color:#223d60;font-weight:800;border-bottom:1px solid #9fb4cb;padding:8px 7px;text-align:center}.data-table td{padding:7px;border-bottom:1px solid #dde5ee;border-right:1px solid #e4eaf1;text-align:center}.data-table tbody tr:nth-child(even){background:#f2f7fc}.data-table tbody tr:hover{background:#fff4dc}.data-table.compact th,.data-table.compact td{padding:5px 6px;font-size:.78rem}.data-table .left{text-align:left}.data-table .right{text-align:right}.data-table .score-high{color:var(--orange);font-weight:800}.data-table .positive{color:#087f5b}.data-table .negative{color:#b42318}.data-table .withdrawn{color:#8a96a5}.data-table .empty{height:110px;color:#7a8797}.actions{display:flex;gap:3px;justify-content:center}.row-edit{cursor:pointer}.summary{display:flex;align-items:stretch;gap:8px;margin:10px 0 14px;width:100%}.summary-card{flex:1 1 0;min-width:0;background:#fff;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:6px;padding:9px 12px}.summary-card span{font-size:.76rem;color:var(--muted);display:block}.summary-card strong{display:block;font-size:1.12rem;margin-top:3px;overflow-wrap:anywhere}.summary-card.income{border-left-color:#185bb0}.summary-card.expense{border-left-color:#dc4c1e}.summary-card.balance{border-left-color:#008080}.split{display:grid;grid-template-columns:1fr 1fr;gap:14px}.badge{display:inline-flex;border-radius:20px;padding:3px 8px;font-size:.72rem;font-weight:800;background:#edf2f7}.badge.ok{background:#ddf5ea;color:#087553}.badge.warn{background:#fff1cd;color:#8a5d00}.badge.danger{background:#ffe4e1;color:#a31d14}.post-list{display:grid;gap:10px}.post{background:#fff;border:1px solid var(--line);border-radius:7px;padding:14px;box-shadow:var(--shadow)}.post.important{border-left:5px solid #d63a2e}.post h2{font-size:1.05rem;margin:0 0 7px}.post-meta{color:var(--muted);font-size:.75rem;margin-bottom:10px}.post-body{white-space:pre-wrap;line-height:1.6}.post-tools{display:flex;gap:5px;margin-top:10px}.vote-grid{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.login-shell{min-height:70vh;display:grid;place-items:center}.login-card{width:min(420px,92vw);background:#fff;border:1px solid var(--line);border-radius:10px;padding:28px;box-shadow:var(--shadow)}.login-card h1{margin:0 0 18px}.login-card .field{margin-bottom:12px}.login-card .btn{width:100%;margin-top:6px}footer{text-align:center;color:#7d8795;padding:24px;font-size:.8rem}
.capture-scroll{width:100%;overflow:auto;border-radius:7px}
.report-separator{display:inline-flex;align-items:center;color:#8795a8;font-weight:800}.capture-preview{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:18px;background:rgba(11,27,49,.78)}.capture-preview-panel{width:min(960px,96vw);max-height:94vh;overflow:auto;background:#fff;border-radius:10px;padding:18px;box-shadow:0 18px 60px #0006}.capture-preview-panel h2{margin:0 0 6px;color:#1b2f49}.capture-preview-panel p{margin:0 0 12px;color:var(--muted)}.capture-preview-panel img{display:block;max-width:100%;height:auto;margin:0 auto;border:1px solid var(--line);background:#fff}.capture-preview-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}
.edit-dialog{width:min(720px,94vw);max-height:88vh;border:0;border-radius:10px;padding:16px;color:var(--text);box-shadow:0 20px 70px #0006}.edit-dialog::backdrop{background:rgba(11,27,49,.68)}.edit-dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.edit-dialog-head h2{margin:0 0 4px;color:#1b2f49}.edit-dialog-head p{margin:0;color:var(--muted);font-size:.8rem}.edit-dialog-nav{display:flex;align-items:center;gap:4px}.edit-dialog-nav .mini{justify-content:center;min-width:29px;cursor:pointer}.edit-dialog-nav .mini:disabled{opacity:.35;cursor:not-allowed}.edit-dialog-actions{display:flex;justify-content:flex-end;gap:6px;margin-top:12px}.fee-edit-table input,.fee-edit-table select{min-width:100px}.fee-edit-table input[type=checkbox]{min-width:0}
.app-edit-dialog{width:min(1080px,96vw)}.app-edit-dialog .edit-dialog-body{max-height:calc(88vh - 78px);overflow:auto;padding:2px}.app-edit-dialog .panel{box-shadow:none;margin-bottom:9px}.app-edit-dialog .post-tools{justify-content:flex-end;margin:8px 0 0}.paid-month{color:#8995a5}.paid-month input{opacity:.52;accent-color:#77869a}.fee-month-grid .paid-month::after{content:'납부';font-size:.66rem;color:#8b97a6}
.quarter-save-bar{display:flex;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;color:var(--muted);font-size:.78rem;font-weight:700}
.quarter-filter-form{display:contents}
.member-primary-actions{grid-column:1/-1;align-items:center;flex-wrap:wrap}.member-view-tools{margin-bottom:14px}
.score-alert{color:#970d0d!important;font-weight:900!important}.score-alert-input{color:#970d0d!important;font-weight:900!important;border-color:#bd4c4c!important;background:#fff7f7!important}
.game-txt-container[hidden]{display:none}.game-txt-panel{padding:9px 12px}.game-txt-head h2{margin:0 0 2px;font-size:.9rem}.game-txt-head p{margin:0;color:var(--muted);font-size:.7rem}.game-txt-upload{display:flex;align-items:end;gap:7px;margin-top:7px}.game-txt-upload .field{flex:1 1 360px;max-width:620px}.game-txt-upload input[type=file]{padding:4px}.txt-file-name{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#345374;font-size:.72rem;font-weight:800}.txt-status{margin-top:7px;padding:7px 9px;border-radius:4px;background:#eaf2ff;color:#1d4e8f;font-size:.76rem;font-weight:800}.txt-status.success{background:#e5f6ef;color:#076345}.txt-status.warn{background:#fff1cd;color:#8a5d00}.txt-status.error{background:#fff0ef;color:#9d2017}.txt-review{margin-bottom:14px}.txt-review input[type=checkbox]{width:auto;min-height:0}.txt-review select{min-width:105px}.txt-review input[type=number]{min-width:58px}.txt-review input[name^=note_]{min-width:130px}.txt-name{font-weight:800}.txt-name.matched{color:var(--ok)}.txt-name.review{color:var(--danger)}.txt-duplicate{opacity:.62}.bulk-action-bar{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 6px}.bulk-action-bar .check{min-height:30px;font-weight:800}.bulk-action-bar input,.data-table input[name=game_ids]{width:auto;min-height:0}
.game-section-tabs{padding:5px;background:#eaf2fb;border:1px solid var(--line);border-radius:6px}.game-section-tabs a{min-width:76px;justify-content:center}.game-txt-toggle{margin-left:auto;min-height:32px;padding:5px 11px;font-size:.8rem}.tab-status{display:inline-flex;align-items:center;min-height:32px;margin-left:4px;padding:4px 9px;border-radius:4px;background:#e5f6ef;color:#076345;font-size:.76rem;font-weight:800;white-space:nowrap}.tab-status.error{background:#fff0ef;color:#9d2017}.cumulative-report{width:max-content;min-width:100%}.cumulative-report .data-table th:nth-child(n+5){min-width:195px}.cumulative-report .data-table td:nth-child(n+5){font-size:.72rem}.contact-report{width:max-content;min-width:285px;margin-inline:auto}.contact-report .table-wrap{width:auto}.contact-report .data-table{width:auto;min-width:285px}.contact-report .data-table th,.contact-report .data-table td{padding:4px 7px}.contact-report .data-table th:first-child,.contact-report .data-table td:first-child{text-align:left}
.contact-report-view .capture-title,.contact-report-view .capture-subtitle{text-align:center}.basic-average-editor{grid-template-columns:repeat(6,minmax(95px,1fr))}.basic-average-editor .form-actions{grid-column:1/-1;justify-content:flex-end}.form-help{margin:8px 0 0;color:var(--muted);font-size:.75rem;line-height:1.45}
@media(min-width:981px){.game-entry-grid{grid-template-columns:minmax(150px,1.35fr) minmax(82px,.7fr) minmax(110px,1fr) repeat(4,minmax(52px,.42fr)) minmax(140px,1.25fr) minmax(160px,max-content)}.ledger-entry-grid{grid-template-columns:minmax(125px,.9fr) minmax(82px,.55fr) minmax(150px,1.1fr) minmax(105px,.75fr) minmax(190px,1.7fr) minmax(115px,max-content)}.fee-entry-grid{grid-template-columns:118px minmax(125px,1fr) minmax(190px,1.5fr) minmax(130px,1fr) minmax(110px,max-content)}.game-entry-grid>.field,.game-entry-grid>.form-actions,.ledger-entry-grid>.field,.ledger-entry-grid>.form-actions,.fee-entry-grid>.field,.fee-entry-grid>.form-actions{grid-column:auto}.game-entry-grid .form-actions{align-items:center}.fee-entry-grid .fee-equal-field{width:118px;min-width:118px;max-width:118px}.fee-entry-grid .fee-equal-field select{width:118px;max-width:118px}}
@media(max-width:980px){html{font-size:13px}body,input,select,textarea,button,.btn,.mini{font-weight:650}.site-head,.top-nav,.club-nav,.page-title,.panel h2,.field>span,.data-table,.report-tabs,.badge,.summary-card,.post,.account{font-weight:700}.data-table th,.top-nav a,.club-nav a,.btn,.report-tabs a{font-weight:800}.site-head{padding:0 14px;flex-wrap:wrap}.nav-toggle{display:block;margin-left:auto}.top-nav{display:none;position:absolute;left:0;right:0;top:58px;height:auto;background:var(--navy);flex-direction:column}.top-nav.open{display:flex}.top-nav a{min-height:42px}.account{margin-left:auto}.club-nav{padding:0 8px}.form-bar{grid-template-columns:repeat(6,minmax(65px,1fr))}.field,.field.w1{grid-column:span 1}.field.w3{grid-column:span 2}.field.w4,.field.w6{grid-column:span 3}.fee-entry-grid .fee-equal-field{grid-column:span 2;min-width:120px}.form-actions{grid-column:span 2}.split{grid-template-columns:1fr}.page{width:96vw;margin-top:14px}.page.wide{width:98vw}.data-table{font-size:.78rem}.data-table th,.data-table td{padding:5px}.panel{padding:10px}.contact-card-grid{grid-template-columns:repeat(2,260px)}}
@media(max-width:980px) and (min-width:621px){.page.program-page{margin-top:6px}.program-page .page-title{align-items:center;margin-bottom:2px}.program-page .page-title h1{font-size:.9rem;line-height:1}.program-page .page-title p{margin-top:0;font-size:.55rem;line-height:1}.program-page .title-tools{margin-left:auto}}
@media(max-width:620px){html{font-size:12px}.site-head{min-height:52px}.brand{font-size:1rem}.account{width:100%;padding:0 0 8px;justify-content:flex-end}.top-nav{top:52px}.club-nav{top:82px;height:38px}.club-nav a{padding:0 9px}.page-title{align-items:flex-start;flex-direction:column}.page-title h1{font-size:1.35rem}.page.program-page{margin-top:6px}.program-page .page-title{align-items:center;flex-direction:row;margin-bottom:2px}.program-page .page-title h1{font-size:.9rem;line-height:1}.program-page .page-title p{margin-top:0;font-size:.55rem;line-height:1}.program-page .title-tools{margin-left:auto}.form-bar{grid-template-columns:repeat(4,minmax(56px,1fr));gap:5px}.field,.field.w1{grid-column:span 1}.field.w3,.field.w4,.field.w6{grid-column:span 2}.form-actions{grid-column:span 2}.filter-bar .field{min-width:90px;flex:1 1 120px}.fee-filter-bar .fee-year-filter{min-width:68px;flex:0 0 82px}.btn{padding:5px 8px}.summary{grid-template-columns:repeat(2,1fr)}.panel{border-radius:5px}.data-table.compact th,.data-table.compact td{padding:4px;font-size:.72rem}.contact-card-grid{grid-template-columns:260px}.game-txt-upload{align-items:stretch;flex-direction:column}.game-txt-upload .field,.txt-file-name{width:100%;max-width:none}}
@media(max-width:980px){.menu-access-grid{grid-template-columns:repeat(3,minmax(95px,1fr))}.member-access-users{grid-template-columns:repeat(2,minmax(170px,1fr))}}
@media(max-width:620px){.menu-access-grid{grid-template-columns:repeat(2,minmax(90px,1fr))}.operator-permission-head{align-items:flex-start}.member-access-users{grid-template-columns:1fr}}
input[data-korean-input]{ime-mode:active}
.recent-save-status{font-weight:900!important;color:#173d72!important;background:#e8f1ff!important;border-color:#9bbbe6!important;white-space:nowrap}
.ledger-duplicate-warning{display:inline-flex;align-items:center;gap:4px;color:#b42318;font-size:.67rem;font-weight:800;line-height:1.15;white-space:normal}.ledger-duplicate-warning[hidden]{display:none}.ledger-duplicate-warning input{width:auto;min-height:0}.data-table tr.duplicate-candidate td{background:#fff0c9!important;color:#8a4b00;font-weight:800}.fee-entry-grid .fee-equal-field{flex:0 0 118px;max-width:118px}.fee-entry-grid .fee-member-select{width:118px;max-width:118px}.fee-register-actions{grid-column:auto;justify-content:flex-start}.fee-inline-status{display:none!important}
.fee-member-link{color:#1f5fae;font-weight:800;text-decoration:underline;text-underline-offset:2px}.fee-inline-status{display:inline-flex;align-items:center;color:#087553;font-size:.67rem;font-weight:800;line-height:1.15;white-space:normal}.fee-register-actions{grid-column:span 3;align-items:center}.fee-date-field{min-width:96px}.fee-edit-month-grid{margin:0 0 10px;padding:8px;border:1px solid var(--line);border-radius:5px;background:#f7faff}.fee-edit-bulk{margin-bottom:10px}.fee-month-grid .paid-month::after{content:none!important}
@media(max-width:980px){html{font-size:14px}.data-table{font-size:.84rem}.data-table.compact th,.data-table.compact td{font-size:.8rem}.field>span{font-size:.8rem}.mini{font-size:.76rem}.program-page .page-title h1{font-size:1rem}.program-page .page-title p{font-size:.68rem}.input-result-head p,.post-meta{font-size:.76rem}}
@media(max-width:980px){.capture-scroll{-webkit-overflow-scrolling:touch}}
@media(max-width:620px){html{font-size:14px}input,select,textarea{font-size:16px}.data-table{font-size:.84rem}.data-table.compact th,.data-table.compact td{font-size:.8rem}.capture-title{font-size:1.42rem}.capture-subtitle{font-size:.84rem}.report-tabs a,.game-txt-toggle{font-size:.82rem}.account{font-size:.86rem}}
@media print{.site-head,.club-nav,.form-bar,.filter-bar,.title-tools,.actions,footer{display:none!important}.page,.page.wide{width:100%;margin:0}.panel{box-shadow:none;border:0}.table-wrap{overflow:visible}.data-table{font-size:9pt}}

/* 7.0.36: field-name-only sticky tables, including tablet report views. */
html,body{touch-action:pan-x pan-y pinch-zoom}
.page,.table-wrap,.capture-scroll{touch-action:pan-x pan-y pinch-zoom}
.table-wrap.sticky-grid{position:relative;max-width:100%;max-height:calc(100vh - 225px);max-height:calc(100dvh - 225px);overflow-x:auto;overflow-y:auto;overscroll-behavior:auto;-webkit-overflow-scrolling:touch;scrollbar-gutter:stable both-edges;isolation:isolate}
.capture-area .table-wrap.sticky-grid{overflow:auto;max-width:100%}
.table-wrap.sticky-grid .data-table{width:max-content;min-width:100%}
.table-wrap.sticky-grid .data-table thead{position:relative;z-index:7}
.table-wrap.sticky-grid .data-table th{position:sticky;top:0;left:auto;z-index:8;background:#dce9f8;background-clip:padding-box;box-shadow:0 1px 0 #9fb4cb}
.table-wrap.sticky-grid .data-table td{position:static;left:auto}
.table-wrap.sticky-grid:focus-visible{outline:2px solid #2d6cdf;outline-offset:2px}
.meeting-record-table{max-height:calc(100vh - 250px);max-height:calc(100dvh - 250px)}
.annual-category-table .annual-type-cell{vertical-align:middle;font-weight:900;background:#edf4fc}
.annual-category-table .annual-type-cell.income{color:#185bb0}
.annual-category-table .annual-type-cell.expense{color:#b83c18}
.member-primary-actions{flex-wrap:nowrap;overflow-x:auto;max-width:100%}
.member-primary-actions>.mini{flex:0 0 auto}
.member-report-menu{align-items:center;margin-bottom:8px;overflow-x:auto;flex-wrap:nowrap}
.member-report-menu a{flex:0 0 auto}
.capture-area.capture-rendering .table-wrap.sticky-grid,.capture-area .capture-rendering .table-wrap.sticky-grid{max-height:none;overflow:visible}
@media(max-width:1180px),(pointer:coarse){.table-wrap.sticky-grid{max-height:clamp(240px,58vh,620px);max-height:clamp(240px,58dvh,620px);overflow:auto}.meeting-record-table{max-height:clamp(240px,56vh,600px);max-height:clamp(240px,56dvh,600px)}.table-wrap.sticky-grid .data-table,.table-wrap.sticky-grid .data-table.compact{font-size:max(.8rem,11px)}}
@media(max-width:620px){.table-wrap.sticky-grid{max-height:calc(100dvh - 190px);min-height:190px}.table-wrap.sticky-grid .data-table,.table-wrap.sticky-grid .data-table.compact{font-size:max(.8rem,11px)}.table-wrap.sticky-grid .data-table th,.table-wrap.sticky-grid .data-table td{padding:4px 5px}}
@media print{.table-wrap.sticky-grid{max-height:none;overflow:visible}.table-wrap.sticky-grid .data-table th{position:static}}

/* 7.0.37: use every remaining viewport pixel for result lists without creating blank rows. */
.table-wrap.fit-viewport-grid{max-height:var(--result-grid-max-height,calc(100vh - 225px));max-height:var(--result-grid-max-height,calc(100dvh - 225px));overflow:auto;overscroll-behavior:auto;-webkit-overflow-scrolling:touch}
.capture-area.capture-rendering .table-wrap.fit-viewport-grid,.capture-area .capture-rendering .table-wrap.fit-viewport-grid{max-height:none!important;overflow:visible}
@media(max-width:1180px),(pointer:coarse){.table-wrap.fit-viewport-grid{max-height:var(--result-grid-max-height,calc(100dvh - 190px));overflow:auto}}
@media print{.table-wrap.fit-viewport-grid{max-height:none!important;overflow:visible}}

/* 7.0.38: compact phone header and entry forms while retaining readable type. */
@media(max-width:620px){
  .site-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:28px 28px;height:66px;min-height:66px;padding:4px 10px;gap:2px 8px;align-items:center;line-height:1.05}
  .site-head .brand{grid-column:1;grid-row:1;line-height:1.05}
  .site-head .nav-toggle{grid-column:2;grid-row:1;margin:0;padding:1px 4px;font-size:1.25rem;line-height:1}
  .site-head .top-nav{top:66px}
  .site-head .account{grid-column:1/-1;grid-row:2;width:100%;min-height:26px;margin:0;padding:0;gap:5px;justify-content:flex-end;line-height:1}
  .site-head .account .mode,.site-head .account .link-btn{min-height:26px;padding:2px 6px;line-height:1.05}
  .club-nav{top:66px;height:34px;padding:0 5px}
  .club-nav a{padding:0 8px;line-height:1}
  .page,.page.program-page{margin-top:4px;margin-bottom:20px}
  .panel{padding:6px 7px;margin-bottom:7px}
  .form-bar{gap:3px 5px}
  .field{gap:1px}
  .field>span{font-size:.78rem;line-height:1.05}
  input,select,textarea{min-height:32px;padding:3px 6px;line-height:1.1}
  textarea{min-height:68px}
  .check{min-height:28px;line-height:1.05}
  .form-actions{gap:4px}
  .btn{min-height:32px;padding:3px 7px;line-height:1.1}
  .mini{min-height:24px;padding:1px 6px;line-height:1.05}
  .member-extra-toggle{margin-top:5px}
  .member-extra{margin-top:5px;padding-top:5px}
  .member-primary-actions{gap:4px}
  .filter-bar{gap:4px}
  .game-section-tabs{padding:3px}
  .report-tabs{gap:3px;margin-bottom:6px}
  .report-tabs a,.game-txt-toggle{min-height:29px;padding:3px 7px}
  .input-result-panel{margin-top:6px}
  .input-result-head{padding:5px 7px}
  .capture-area{padding:10px}
  .capture-title{margin-bottom:2px;line-height:1.08}
  .capture-subtitle{margin-bottom:7px;line-height:1.08}
  .summary{gap:5px;margin:6px 0 8px}
  .summary-card{padding:6px 8px}
}

/* 7.1.48 rebuilt from the restored 7.1.43 SVG set: base text/icon action rules. */
html body .program-page [data-fee-status-query]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0b2d59!important;
  font-size:0!important;
  line-height:1!important;
  overflow:hidden!important;
}
html body .program-page [data-fee-status-query]>.action-icon-button-label{
  display:none!important;
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
}
html body .program-page .quarter-toolbar>[data-quarter-save]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0b2d59!important;
  font-size:0!important;
  line-height:1!important;
  overflow:visible!important;
}
html body .program-page .quarter-toolbar>[data-quarter-save] .action-icon-save{
  display:block!important;
  flex:0 0 28px!important;
  width:28px!important;
  min-width:28px!important;
  max-width:28px!important;
  height:28px!important;
  min-height:28px!important;
  max-height:28px!important;
  overflow:visible!important;
  shape-rendering:geometricPrecision;
}
html body .program-page [data-settlement-text-action]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:max-content!important;
  height:32px!important;
  min-height:32px!important;
  padding:4px 8px!important;
  font-size:.78rem!important;
  line-height:1!important;
  text-align:center!important;
  text-indent:0!important;
  white-space:nowrap!important;
}
html body .program-page [data-settlement-text-action]::before,
html body .program-page [data-settlement-text-action]::after,
html body .program-page [data-settlement-text-action]>.mobile-action-icon,
html body .program-page [data-settlement-text-action]>.action-icon{
  content:none!important;
  display:none!important;
}
html body .program-page [data-settlement-text-action]>.mobile-icon-text{
  display:inline!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  min-height:0!important;
  max-width:none!important;
  max-height:none!important;
  padding:0!important;
  margin:0!important;
  overflow:visible!important;
  clip:auto!important;
  white-space:nowrap!important;
  border:0!important;
  font-size:inherit!important;
  line-height:inherit!important;
}

@media(max-width:620px){
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools){
    display:grid!important;
    grid-template-columns:62px 30px minmax(0,1fr) 28px minmax(58px,max-content)!important;
    align-items:end!important;
    gap:2px!important;
    padding:5px!important;
    width:100%!important;
    justify-content:stretch!important;
    overflow:hidden!important;
  }
  html body .program-page .fee-report-inline-tools>.fee-report-year-filter,
  html body .program-page .ranking-report-inline-tools>.ranking-report-year-filter{grid-column:1!important;width:100%!important;min-width:0!important}
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools)>.action-icon-button-query{grid-column:2!important;justify-self:start!important}
  html body .program-page .fee-report-inline-tools>.fee-report-back,
  html body .program-page .ranking-report-inline-tools>.ranking-report-back{grid-column:4!important;justify-self:end!important}
  html body .program-page .fee-report-inline-tools>.fee-report-capture,
  html body .program-page .ranking-report-inline-tools>.ranking-report-capture{grid-column:5!important;justify-self:end!important}

  html body .program-page .quarter-report-inline-tools{
    display:grid!important;
    grid-template-columns:58px 64px 30px minmax(0,1fr) 28px minmax(58px,max-content)!important;
    align-items:end!important;
    gap:2px!important;
    padding:5px!important;
    width:100%!important;
    justify-content:stretch!important;
    overflow:hidden!important;
  }
  html body .program-page .quarter-report-inline-tools>.quarter-report-year-filter{grid-column:1!important;width:100%!important;min-width:0!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-quarter-filter{grid-column:2!important;width:100%!important;min-width:0!important}
  html body .program-page .quarter-report-inline-tools>.action-icon-button-query{grid-column:3!important;justify-self:start!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-back{grid-column:5!important;justify-self:end!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-capture{grid-column:6!important;justify-self:end!important}

  html body .program-page .ledger-query-toolbar.settlement-filter{
    display:grid!important;
    grid-template-columns:42px 44px 28px 36px 36px minmax(0,1fr) 28px minmax(58px,max-content)!important;
    align-items:end!important;
    gap:2px!important;
    padding:5px 4px!important;
    width:100%!important;
    justify-content:stretch!important;
    overflow:hidden!important;
  }
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-year-filter{grid-column:1!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-month-filter{grid-column:2!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.action-icon-button-query{grid-column:3!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-monthly-link{grid-column:4!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-annual-link{grid-column:5!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-spacer{display:none!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-back{grid-column:7!important;justify-self:end!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-capture{grid-column:8!important;justify-self:end!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>[data-settlement-text-action]{
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:0 2px!important;
    font-size:.6rem!important;
    line-height:1!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools,.ledger-query-toolbar.settlement-filter) :is(input,select){
    height:30px!important;
    min-height:30px!important;
    padding:1px 3px!important;
    font-size:.72rem!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools,.ledger-query-toolbar.settlement-filter) [data-action-icon-button]{
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:1px!important;
  }
  html body .program-page :is(.fee-report-capture,.ranking-report-capture,.quarter-report-capture,.ledger-report-capture){
    min-height:30px!important;
    height:30px!important;
    padding:1px 4px!important;
    font-size:.62rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

/* 통합 자료 내보내기 */
.basic-export-panel{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:14px;background:linear-gradient(135deg,#f5f9ff,#e8f2ff);border-color:#b8cde7}
.basic-export-panel h2{margin:0 0 4px;color:#173a63}
.basic-export-panel p{margin:0;color:#52657b}
.basic-export-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.export-dialog{width:min(560px,calc(100vw - 28px));border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(16,38,66,.28)}
.export-dialog::backdrop,.export-progress-dialog::backdrop{background:rgba(9,24,43,.48)}
.export-dialog form{padding:22px}
.export-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px}
.export-dialog-head h2{margin:0}
.export-dialog-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:18px}
.export-progress-dialog{width:min(520px,calc(100vw - 28px));border:0;border-radius:16px;padding:0;box-shadow:0 24px 70px rgba(16,38,66,.28)}
.export-progress-content{padding:24px}
.export-progress-content h2{margin-top:0}
.export-progress-content progress{width:100%;height:20px}
.export-capture-frame{position:fixed;left:-100000px;top:0;width:1600px;height:1000px;border:0;background:#fff;pointer-events:none}
.export-report-body{margin:0;background:#fff;min-width:1400px}
.export-report-page{width:max-content;min-width:1360px;max-width:none;margin:0;padding:20px;background:#fff}
.export-capture{width:max-content;min-width:1320px;max-width:none;box-shadow:none;border:1px solid #c8d5e4;background:#fff}
.export-capture .table-wrap{max-height:none!important;overflow:visible!important}
.export-capture .data-table{min-width:100%;width:max-content}
.export-capture .summary{break-inside:avoid}
@media(max-width:720px){.basic-export-panel{align-items:stretch;flex-direction:column}.basic-export-actions{justify-content:flex-start}.basic-export-actions .btn{flex:1 1 auto;text-align:center}}

/* 7.0.39: centralized Basics export tabs and unmistakable deployment marker. */
.basic-export-panel{display:block;margin:0 0 14px;background:linear-gradient(135deg,#f5f9ff,#e8f2ff);border:2px solid #8fb0d6}
.basic-export-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.basic-export-head h2{margin:0 0 4px;color:#173a63}
.basic-export-head p,.basic-export-note{margin:0;color:#52657b}
.basic-export-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 8px;overflow:hidden}
.basic-export-tabs a,.basic-export-tabs .export-tab-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 14px;border:1px solid #aebdd0;border-radius:4px;background:#fff;color:#345374;font:inherit;font-size:.82rem;font-weight:800;text-decoration:none;cursor:pointer}
.basic-export-tabs a.active{background:var(--blue);border-color:var(--blue);color:#fff}
.basic-export-tabs .export-tab-button:hover{background:#edf5ff;border-color:#7da2cc}
.basic-export-note{font-size:.76rem;font-weight:700}
@media(max-width:720px){.basic-export-head{align-items:stretch;flex-direction:column}.basic-export-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.basic-export-tabs a,.basic-export-tabs .export-tab-button{width:100%;min-width:0;padding:5px 3px;font-size:.74rem}}


/* 7.0.40: stable calendar fields, one-line export tools, and nonblank PDF capture host. */
.date-input-shell{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 36px;width:100%;min-width:92px}
.date-display-input{grid-column:1/2;border-radius:4px 0 0 4px;text-align:center;letter-spacing:.04em}
.date-picker-button{grid-column:2/3;min-height:34px;border:1px solid #b9c8d9;border-left:0;border-radius:0 4px 4px 0;background:#f4f8fd;color:#274c73;cursor:pointer;font:inherit;padding:0}
.date-picker-button:hover{background:#e6f0fb}.date-picker-button:disabled{opacity:.5;cursor:not-allowed}
.date-picker-input{position:absolute!important;right:0;bottom:0;width:1px!important;height:1px!important;min-height:1px!important;opacity:.001;pointer-events:none;padding:0;border:0}
.export-capture-host{position:fixed;left:0;top:0;z-index:-2147483647;pointer-events:none;width:max-content;min-width:1400px;background:#fff}
.export-capture-host .export-capture{width:max-content;min-width:1320px;max-width:none;box-shadow:none;border:1px solid #c8d5e4;background:#fff}
.export-capture-host .table-wrap{max-height:none!important;overflow:visible!important}
.export-capture-host .data-table{min-width:100%;width:max-content}
@media(max-width:620px){.date-input-shell{grid-template-columns:minmax(0,1fr) 34px}.date-picker-button{min-height:32px}}

/* 7.0.41: portrait PDF reports and one-page annual fee report. */
.export-report-body{min-width:980px}
.export-report-page{width:980px;min-width:980px;max-width:980px;padding:14px}
.export-capture-host{min-width:980px;width:980px}
.export-capture-host .export-capture{width:950px;min-width:950px;max-width:950px}
.export-capture-host .data-table{width:100%;min-width:100%;max-width:100%;white-space:normal;font-size:.72rem}
.export-capture-host .data-table th,.export-capture-host .data-table td{padding:4px 3px;word-break:keep-all}
.export-capture-host .capture-title{font-size:1.25rem;margin-bottom:4px}
.export-capture-host .capture-subtitle{font-size:.76rem;margin-bottom:8px}
.export-capture-host .summary{gap:5px;margin:6px 0 8px}
.export-capture-host .summary-card{padding:6px 8px}
.annual-fee-one-page .data-table{table-layout:fixed;font-size:.58rem;white-space:normal}
.annual-fee-one-page .data-table th,.annual-fee-one-page .data-table td{padding:3px 1px;overflow-wrap:anywhere}
.annual-fee-one-page .data-table th:nth-child(1),.annual-fee-one-page .data-table td:nth-child(1){width:28px}
.annual-fee-one-page .data-table th:nth-child(2),.annual-fee-one-page .data-table td:nth-child(2){width:62px}
.annual-fee-one-page .data-table th:nth-child(3),.annual-fee-one-page .data-table td:nth-child(3){width:52px}
.annual-fee-one-page .data-table th:last-child,.annual-fee-one-page .data-table td:last-child{width:62px}

/* 7.0.43: B5 portrait reports, one-page fee sheets, and row-safe game pagination. */
.export-report-body{min-width:900px}
.export-report-page{width:900px;min-width:900px;max-width:900px;padding:12px}
.export-capture-host{min-width:900px;width:900px}
.export-capture-host .export-capture{width:872px;min-width:872px;max-width:872px;padding:12px}
.game-report-output .data-table{table-layout:fixed;font-size:.64rem;line-height:1.2}
.game-report-output .data-table th,.game-report-output .data-table td{padding:3px 2px;vertical-align:middle}
.game-report-output .data-table tr{break-inside:avoid;page-break-inside:avoid}
.game-report-output .data-table th:nth-child(1),.game-report-output .data-table td:nth-child(1){width:34px}
.game-report-output .data-table th:nth-child(2),.game-report-output .data-table td:nth-child(2){width:58px}
.game-report-output .data-table th:nth-child(3),.game-report-output .data-table td:nth-child(3){width:62px}
.game-report-output .data-table th:nth-child(4),.game-report-output .data-table td:nth-child(4){width:54px}
.game-report-output .data-table th:nth-child(n+5):nth-child(-n+11),.game-report-output .data-table td:nth-child(n+5):nth-child(-n+11){width:48px}
.game-report-output .data-table th:last-child,.game-report-output .data-table td:last-child{width:auto;white-space:normal;overflow-wrap:anywhere}
.monthly-fee-one-page .summary{margin:4px 0 6px}
.monthly-fee-one-page .summary-card{padding:5px 7px}
.monthly-fee-one-page .data-table{table-layout:fixed;font-size:.64rem;line-height:1.15}
.monthly-fee-one-page .data-table th,.monthly-fee-one-page .data-table td{padding:3px 2px;overflow-wrap:anywhere}
.annual-fee-one-page .data-table{font-size:.5rem;line-height:1.05}
.annual-fee-one-page .data-table th,.annual-fee-one-page .data-table td{padding:2px 1px}


/* 7.0.45: compact one-line administration toolbars and fee MM/DD dates. */
@media(min-width:981px){
  .fee-entry-grid{grid-template-columns:minmax(118px,1fr) minmax(104px,.82fr) minmax(170px,1.45fr) minmax(86px,.62fr) max-content}
  .fee-entry-grid>.field,.fee-entry-grid>.form-actions{grid-column:auto}
  .fee-entry-grid .fee-monthly-field{min-width:82px;max-width:112px}
  .fee-register-actions{grid-column:auto;align-items:end;white-space:nowrap}
  .ledger-entry-grid{grid-template-columns:minmax(112px,.82fr) minmax(76px,.52fr) minmax(130px,1fr) minmax(92px,.66fr) minmax(150px,1.35fr) max-content}
  .ledger-entry-grid>.field,.ledger-entry-grid>.form-actions{grid-column:auto}
  .ledger-note-field{min-width:145px}
  .ledger-actions{grid-column:auto;align-self:end;white-space:nowrap}
  .ledger-category-form{display:grid;grid-template-columns:100px minmax(150px,220px) 78px max-content;justify-content:start;align-items:end}
  .ledger-category-form>.field,.ledger-category-form>.form-actions{grid-column:auto}
  .ledger-category-actions{white-space:nowrap}
}
.ledger-query-toolbar,.quarter-toolbar{flex-wrap:nowrap;overflow-x:auto;align-items:end}
.ledger-query-toolbar>*,.quarter-toolbar>*{flex:0 0 auto}
.ledger-query-toolbar .ledger-year-filter{min-width:78px;flex-basis:86px}
.ledger-query-toolbar .ledger-month-filter{min-width:88px;flex-basis:100px}
.quarter-toolbar .quarter-year-filter{min-width:78px;flex-basis:86px}
.quarter-toolbar .quarter-select-filter{min-width:88px;flex-basis:98px}
.game-section-tabs{flex-wrap:nowrap;overflow-x:auto;align-items:center}
.game-section-tabs a,.game-section-tabs .game-txt-toggle,.game-section-tabs .tab-status{flex:0 0 auto}
.game-section-tabs .game-txt-toggle{margin-left:0}
.fee-date-input-shell .date-display-input{letter-spacing:.02em}
@media(max-width:980px){
  .fee-entry-grid .fee-monthly-field{grid-column:span 1;min-width:76px}
  .fee-register-actions{grid-column:span 1;white-space:nowrap}
  .ledger-category-form{grid-template-columns:repeat(4,minmax(72px,1fr));overflow-x:auto}
  .ledger-category-form>.field,.ledger-category-form>.form-actions{grid-column:span 1;min-width:78px}
}


/* 7.0.48: app and program distribution cards. */
.app-meta{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.app-meta span{display:inline-flex;padding:4px 8px;border-radius:999px;background:#eaf2fb;color:#244f78;font-size:.82rem;font-weight:700}
.download-list{margin-top:18px;padding-top:12px;border-top:1px solid #d9e2ec}.download-list h2{font-size:1rem;margin:0 0 8px}.download-item{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e4ebf2}.download-item>div{min-width:0;flex:1}.download-item strong{display:block;overflow-wrap:anywhere}.download-item small{display:block;color:#62758a;margin-top:2px}.download-item form{margin:0}.field small{display:block;color:#66788a;margin-top:4px}
@media(max-width:620px){.download-item{align-items:flex-start;flex-wrap:wrap}.download-item>div{flex-basis:100%}}


/* 7.0.49: phone/tablet header account placement, rotating game report menu, and full-width contacts. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.site-head>.top-nav{order:2}.site-head>.account{order:3}.site-head>.nav-toggle{order:4}
.account-identity{display:inline-flex;align-items:center;min-width:0}
.account-name{font-weight:800}
.game-report-links{display:flex;align-items:center;gap:5px}
.game-report-mobile-nav{display:none}
.contact-phone-link{color:#1f5fae;font-weight:800;text-decoration:none;white-space:nowrap}
.contact-phone-link:hover,.contact-phone-link:focus{text-decoration:underline}

@media(max-width:980px){
  .site-head{display:grid;grid-template-columns:minmax(74px,1fr) minmax(0,max-content) 30px;grid-template-rows:52px;height:52px;min-height:52px;padding:0 8px;gap:0 5px;align-items:center;flex-wrap:nowrap;line-height:1}
  .site-head>.brand{grid-column:1;grid-row:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.96rem;line-height:1.05}
  .site-head>.account{grid-column:2;grid-row:1;width:auto;min-width:0;max-width:100%;margin:0;padding:0;gap:3px;justify-content:flex-end;font-size:.74rem;line-height:1;overflow:hidden}
  .site-head>.nav-toggle{grid-column:3;grid-row:1;margin:0;padding:2px;font-size:1.25rem;line-height:1}
  .site-head>.top-nav{top:52px}
  .site-head .account-identity{max-width:104px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .site-head .account .mode,.site-head .account .link-btn{min-height:25px;padding:2px 4px;line-height:1;font-size:.72rem}
  .club-nav{top:52px}
  .game-report-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:4px;overflow:visible}
  .game-report-links{display:none}
  .game-report-mobile-nav{display:grid;grid-template-columns:38px minmax(132px,1fr) 38px;align-items:center;gap:5px;flex:1 1 260px;min-width:220px;max-width:420px}
  .game-report-arrow{display:inline-flex;align-items:center;justify-content:center;min-width:38px;min-height:36px;border:1px solid #8fa7c1;border-radius:999px;background:#fff;color:#244f78;font-size:1.45rem;font-weight:900;line-height:1;text-decoration:none}
  .game-report-arrow:active{background:#dce9f8}
  .game-report-selector{display:block;min-width:0}
  .game-report-selector select{min-height:36px;width:100%;padding:4px 28px 4px 10px;border-color:#7f9dbd;background:#fff;color:#173b68;font-weight:800;text-align:center}
  .game-report-tabs>.report-toolbar{flex:0 0 auto;margin:0 0 0 auto}
  .page.contact-page{width:100vw;max-width:100vw;margin:4px 0 20px;padding:0 2px}
  .contact-page .report-toolbar{padding:0 3px;margin-bottom:5px}
  .contact-page .capture-scroll{width:100%;max-width:100%;overflow:visible;border-radius:0}
  .contact-page .capture-area{width:100%;min-width:0;max-width:100%;padding:8px 3px;border-left:0;border-right:0;border-radius:0}
  .contact-page .capture-title{font-size:1.35rem;text-align:center}
  .contact-page .capture-subtitle{font-size:.9rem;text-align:center;margin-bottom:8px}
  .contact-page .contact-report{width:100%;min-width:0;max-width:100%;margin:0}
  .contact-page .contact-result-grid{width:100%;max-width:100%;max-height:calc(100dvh - 165px);overflow:auto;border-radius:0}
  .contact-page .contact-report .data-table{width:100%;min-width:0;max-width:100%;table-layout:fixed;white-space:normal;font-size:1rem}
  .contact-page .contact-report .data-table th,.contact-page .contact-report .data-table td{padding:8px 3px;font-size:1rem;line-height:1.25;overflow-wrap:anywhere;word-break:keep-all}
  .contact-page .contact-report .data-table th:nth-child(1),.contact-page .contact-report .data-table td:nth-child(1){width:30%;text-align:center}
  .contact-page .contact-report .data-table th:nth-child(2),.contact-page .contact-report .data-table td:nth-child(2){width:14%}
  .contact-page .contact-report .data-table th:nth-child(3),.contact-page .contact-report .data-table td:nth-child(3){width:18%}
  .contact-page .contact-report .data-table th:nth-child(4),.contact-page .contact-report .data-table td:nth-child(4){width:38%}
}
@media(max-width:620px){
  .site-head{grid-template-columns:minmax(68px,1fr) minmax(0,max-content) 28px;height:50px;min-height:50px;padding:0 5px;gap:0 3px}
  .site-head>.brand{font-size:.86rem}
  .site-head>.top-nav{top:50px}
  .site-head>.account{font-size:.68rem;gap:2px}
  .site-head .account-identity{max-width:88px}
  .site-head .account .mode,.site-head .account .link-btn{min-height:23px;padding:1px 3px;font-size:.67rem}
  .site-head>.nav-toggle{font-size:1.15rem}
  .club-nav{top:50px}
  .game-report-mobile-nav{grid-template-columns:36px minmax(118px,1fr) 36px;min-width:200px;max-width:none}
  .game-report-arrow{min-width:36px;min-height:36px}
  .game-report-selector select{font-size:16px}
  .contact-page .capture-area{padding:6px 2px}
  .contact-page .contact-report .data-table,.contact-page .contact-report .data-table th,.contact-page .contact-report .data-table td{font-size:.94rem}
  .contact-page .contact-report .data-table th,.contact-page .contact-report .data-table td{padding:7px 2px}
}


/* 7.0.50: phone/tablet club menu displays one current item between previous/next arrows. */
.club-nav-links{display:flex;align-items:stretch;height:100%}
.club-nav-mobile{display:none}
@media(max-width:980px){
  .club-nav{justify-content:center;overflow:visible;padding:0 8px}
  .club-nav-links{display:none}
  .club-nav-mobile{display:grid;grid-template-columns:40px minmax(150px,260px) 40px;align-items:center;justify-content:center;gap:6px;width:100%;height:100%}
  .club-nav-arrow{display:inline-flex!important;align-items:center;justify-content:center;min-width:40px;height:32px!important;padding:0!important;border:0;border-radius:999px;background:transparent!important;color:#244f78!important;font-size:1.45rem!important;font-weight:900!important;line-height:1;text-decoration:none}
  .club-nav-arrow:active{background:#dce9f8!important}
  .club-nav-selector{display:block;min-width:0;height:32px}
  .club-nav-selector select{width:100%;height:32px;min-height:32px;padding:2px 8px;border:1px solid #8fa7c1;border-radius:6px;background:#eef5fd;color:#174b83;font:inherit;font-size:.9rem;font-weight:900;text-align:center;text-align-last:center;appearance:none;-webkit-appearance:none;cursor:pointer}
  .club-nav-selector select:focus{outline:2px solid #68a4e3;outline-offset:1px}
}
@media(max-width:620px){
  .club-nav{padding:0 5px}
  .club-nav-mobile{grid-template-columns:38px minmax(132px,1fr) 38px;gap:4px}
  .club-nav-arrow{min-width:38px;height:30px!important;font-size:1.35rem!important}
  .club-nav-selector,.club-nav-selector select{height:30px;min-height:30px}
  .club-nav-selector select{font-size:16px;padding:1px 6px}
}

/* 7.0.51: reliable game report arrows and a fully visible one-line ledger query toolbar. */
.game-report-arrow{position:relative;z-index:2;pointer-events:auto;touch-action:manipulation;-webkit-tap-highlight-color:rgba(36,79,120,.18)}
.game-report-selector{position:relative;z-index:1}
.ledger-query-toolbar{display:grid;grid-template-columns:minmax(74px,86px) minmax(76px,96px) max-content max-content max-content;align-items:end;justify-content:start;gap:5px;overflow:visible}
.ledger-query-toolbar>*{min-width:0}
.ledger-query-toolbar .field{min-width:0;width:auto;flex:none}
.ledger-query-toolbar .field input,.ledger-query-toolbar .field select{width:100%;min-width:0}
.ledger-query-toolbar .btn,.ledger-query-toolbar button{white-space:nowrap;min-width:0}
@media(max-width:980px){
  .ledger-query-toolbar{grid-template-columns:minmax(66px,82px) minmax(64px,86px) max-content max-content max-content;gap:4px;padding:8px 6px}
  .ledger-query-toolbar .field>span{font-size:.7rem;line-height:1.05}
  .ledger-query-toolbar .field input,.ledger-query-toolbar .field select{min-height:31px;padding:4px 3px;font-size:.82rem}
  .ledger-query-toolbar .btn,.ledger-query-toolbar button{min-height:31px;padding:5px 7px;font-size:.76rem;line-height:1}
}
@media(max-width:620px){
  .ledger-query-toolbar{grid-template-columns:minmax(58px,1fr) minmax(56px,.92fr) max-content max-content max-content;gap:3px;padding:6px 4px}
  .ledger-query-toolbar .field input,.ledger-query-toolbar .field select{min-height:30px;padding:3px 2px;font-size:.78rem}
  .ledger-query-toolbar .btn,.ledger-query-toolbar button{min-height:30px;padding:4px 5px;font-size:.7rem}
}

/* 7.0.53: mobile integration column priority, compact personal records, and centered contacts. */
.integration-mobile-grid{display:none}
.contact-table th,.contact-table td{text-align:center}
.contact-table .contact-phone-link{display:inline-block;text-align:center}
@media(max-width:980px){
  .integration-desktop-grid{display:none}
  .integration-mobile-grid{display:block}
  .integration-mobile-grid .data-table{width:max-content;min-width:100%;white-space:nowrap}
  .integration-mobile-grid .data-table th:nth-child(1),.integration-mobile-grid .data-table td:nth-child(1){min-width:34px}
  .integration-mobile-grid .data-table th:nth-child(2),.integration-mobile-grid .data-table td:nth-child(2){min-width:92px}
  .integration-mobile-grid .data-table th:nth-child(3),.integration-mobile-grid .data-table td:nth-child(3),
  .integration-mobile-grid .data-table th:nth-child(4),.integration-mobile-grid .data-table td:nth-child(4),
  .integration-mobile-grid .data-table th:nth-child(5),.integration-mobile-grid .data-table td:nth-child(5){min-width:58px}
  .personal-record-grid .data-table{width:max-content;min-width:100%;white-space:nowrap}
  .personal-record-grid .data-table th,.personal-record-grid .data-table td{padding-left:4px;padding-right:4px}
  .contact-page .contact-report .data-table th,.contact-page .contact-report .data-table td{text-align:center!important}
}
@media print{
  .integration-desktop-grid{display:block!important}
  .integration-mobile-grid{display:none!important}
}


/* 7.0.54: fluid one-line PC entry forms for reduced desktop windows. */
@media(min-width:621px){
  .ledger-entry-grid{
    grid-template-columns:minmax(0,.92fr) minmax(0,.58fr) minmax(0,1.08fr) minmax(0,.72fr) minmax(0,1.35fr) max-content;
    grid-auto-flow:column;
    grid-template-rows:auto;
    gap:clamp(3px,.55vw,7px);
    align-items:end;
  }
  .game-entry-grid{
    grid-template-columns:minmax(0,1.22fr) minmax(0,.72fr) minmax(0,.94fr) repeat(4,minmax(0,.44fr)) minmax(0,1.18fr) max-content;
    grid-auto-flow:column;
    grid-template-rows:auto;
    gap:clamp(3px,.5vw,7px);
    align-items:end;
  }
  .ledger-entry-grid>.field,
  .ledger-entry-grid>.form-actions,
  .game-entry-grid>.field,
  .game-entry-grid>.form-actions{
    grid-column:auto!important;
    min-width:0;
    width:auto;
  }
  .ledger-entry-grid input,
  .ledger-entry-grid select,
  .game-entry-grid input,
  .game-entry-grid select{
    min-width:0;
    width:100%;
  }
  .ledger-entry-grid .ledger-note-field{min-width:0}
  .ledger-entry-grid .ledger-actions,
  .game-entry-grid .form-actions{
    min-width:0;
    white-space:nowrap;
    align-items:center;
    align-self:end;
  }
  .game-entry-grid .form-actions>span{min-width:0;font-size:clamp(.66rem,.8vw,.78rem);white-space:nowrap}
}
@media(min-width:621px) and (max-width:1180px){
  .ledger-entry-grid,
  .game-entry-grid{gap:4px}
  .ledger-entry-grid .field,
  .game-entry-grid .field{gap:2px}
  .ledger-entry-grid .field>span,
  .game-entry-grid .field>span{font-size:clamp(.62rem,1vw,.72rem);line-height:1;overflow:hidden;text-overflow:ellipsis}
  .ledger-entry-grid input,
  .ledger-entry-grid select,
  .game-entry-grid input,
  .game-entry-grid select{
    min-height:31px;
    padding:4px clamp(2px,.45vw,6px);
    font-size:clamp(.68rem,1.12vw,.82rem);
  }
  .ledger-entry-grid .btn,
  .game-entry-grid .btn{
    min-height:31px;
    padding:4px clamp(6px,.7vw,10px);
    font-size:clamp(.68rem,1.04vw,.8rem);
  }
  .ledger-entry-grid .ledger-duplicate-warning{font-size:.58rem;max-width:94px}
}

/* 7.0.55: fluid one-line PC query controls for game records and ledger settlements. */
@media(min-width:621px){
  .game-query-toolbar{
    display:grid;
    grid-template-columns:minmax(92px,1.02fr) minmax(68px,.56fr) minmax(108px,1.18fr) minmax(108px,1.16fr) max-content;
    grid-template-rows:auto;
    align-items:end;
    gap:clamp(3px,.55vw,7px);
    overflow:visible;
  }
  .game-query-toolbar>*{min-width:0}
  .game-query-toolbar .field{grid-column:auto!important;width:auto;min-width:0;flex:none}
  .game-query-toolbar>.btn{grid-column:auto!important}
  .game-query-toolbar .field input,
  .game-query-toolbar .field select{width:100%;min-width:0}
  .game-query-toolbar .btn{min-width:0;white-space:nowrap}

  .game-query-bulk-form{min-width:0}
  .game-query-actions{
    display:grid;
    grid-template-columns:minmax(0,1fr) max-content;
    align-items:center;
    gap:clamp(5px,.8vw,12px);
    width:100%;
    margin:0 0 6px;
  }
  .game-query-actions .game-report-tabs{
    min-width:0;
    margin:0;
    overflow:visible;
    flex-wrap:nowrap;
    align-items:center;
  }
  .game-query-actions .game-report-links{display:none}
  .game-query-actions .game-report-mobile-nav{
    display:grid;
    grid-template-columns:32px minmax(112px,160px) 32px;
    flex:0 1 224px;
    min-width:176px;
    max-width:224px;
    gap:4px;
  }
  .game-query-actions .game-report-arrow{min-width:32px;min-height:32px;font-size:1.25rem}
  .game-query-actions .game-report-selector select{min-height:32px;padding:3px 24px 3px 7px;font-size:.8rem}
  .game-query-actions .bulk-action-bar{margin:0;gap:clamp(4px,.55vw,8px);white-space:nowrap}
  .game-query-actions .bulk-action-bar .check{min-height:32px;font-size:.78rem}
  .game-query-actions .bulk-action-bar .btn{min-height:32px;padding:4px clamp(7px,.75vw,12px);font-size:.78rem}

  .ledger-query-toolbar .field{grid-column:auto!important}
  .ledger-query-toolbar>.btn{grid-column:auto!important}
  .ledger-query-toolbar.settlement-filter{
    width:100%;
    grid-template-columns:minmax(74px,86px) minmax(76px,96px) max-content max-content max-content minmax(0,1fr) max-content max-content;
  }
  .ledger-query-toolbar.settlement-filter .ledger-monthly-link{grid-column-start:4!important;grid-column-end:5!important}
  .ledger-query-toolbar.settlement-filter .ledger-annual-link{grid-column-start:5!important;grid-column-end:6!important;justify-self:start}
  .ledger-query-toolbar.settlement-filter .ledger-report-spacer{grid-column:6/7;min-width:0}
  .ledger-query-toolbar.settlement-filter .ledger-report-back{grid-column:7/8}
  .ledger-query-toolbar.settlement-filter .ledger-report-capture{grid-column:8/9;justify-self:end}
}
@media(min-width:621px) and (max-width:1180px){
  .game-query-toolbar{gap:4px;padding:8px 7px}
  .game-query-toolbar .field{gap:2px}
  .game-query-toolbar .field>span{font-size:clamp(.62rem,.9vw,.72rem);line-height:1;overflow:hidden;text-overflow:ellipsis}
  .game-query-toolbar input,
  .game-query-toolbar select{min-height:31px;padding:4px clamp(2px,.4vw,5px);font-size:clamp(.68rem,1vw,.82rem)}
  .game-query-toolbar .btn{min-height:31px;padding:4px clamp(6px,.65vw,10px);font-size:clamp(.68rem,.95vw,.8rem)}
  .game-query-actions .game-report-mobile-nav{grid-template-columns:30px minmax(108px,146px) 30px;min-width:168px;max-width:214px}
  .game-query-actions .game-report-arrow{min-width:30px;min-height:31px}
  .game-query-actions .game-report-selector select{min-height:31px;font-size:clamp(.72rem,.9vw,.8rem)}
  .game-query-actions .bulk-action-bar .check,
  .game-query-actions .bulk-action-bar .btn{font-size:clamp(.68rem,.9vw,.78rem)}
}
@media(min-width:621px) and (max-width:980px){
  .ledger-query-toolbar.settlement-filter{
    grid-template-columns:minmax(66px,82px) minmax(64px,86px) max-content max-content max-content minmax(0,1fr) max-content max-content;
  }
}


/* 7.0.56: settlement action relocation and fluid one-line member editor. */
@media(min-width:621px){
  .ledger-query-toolbar.settlement-filter .ledger-monthly-link,
  .ledger-query-toolbar.settlement-filter .ledger-annual-link,
  .ledger-query-toolbar.settlement-filter .ledger-report-back,
  .ledger-query-toolbar.settlement-filter .ledger-report-capture{
    min-width:0;
    white-space:nowrap;
  }
  .member-entry-grid{
    display:grid;
    grid-template-columns:minmax(0,.82fr) minmax(0,1.16fr) minmax(0,.72fr) minmax(0,1fr) minmax(0,.66fr) max-content;
    grid-template-rows:auto;
    align-items:end;
    gap:clamp(3px,.5vw,7px);
    width:100%;
  }
  .member-entry-grid>.field,
  .member-entry-grid>.form-actions{
    grid-column:auto!important;
    min-width:0;
    width:auto;
  }
  .member-entry-grid input,
  .member-entry-grid select,
  .member-entry-grid .date-input-shell{
    width:100%;
    min-width:0;
  }
  .member-primary-actions{
    grid-column:auto!important;
    display:flex;
    flex-wrap:nowrap!important;
    align-items:end;
    align-self:end;
    gap:clamp(3px,.38vw,6px);
    min-width:0;
    white-space:nowrap;
  }
  .member-primary-actions>.btn,
  .member-primary-actions>.mini{
    flex:0 0 auto;
    min-width:0;
    white-space:nowrap;
  }
  .member-save-status{display:block;margin-top:5px;min-height:0}
}
@media(min-width:621px) and (max-width:1180px){
  .member-editor-panel{padding:8px 7px}
  .member-entry-grid{gap:3px}
  .member-entry-grid .field{gap:2px}
  .member-entry-grid .field>span{
    font-size:clamp(.6rem,.88vw,.72rem);
    line-height:1;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .member-entry-grid input,
  .member-entry-grid select,
  .member-entry-grid .date-display-input{
    min-height:31px;
    padding:4px clamp(2px,.35vw,5px);
    font-size:clamp(.66rem,.96vw,.8rem);
  }
  .member-entry-grid .date-picker-button{min-width:25px;padding:2px}
  .member-primary-actions>.btn{
    min-height:31px;
    padding:4px clamp(5px,.52vw,9px);
    font-size:clamp(.64rem,.87vw,.78rem);
  }
  .member-primary-actions>.mini{
    min-height:31px;
    padding:3px clamp(4px,.43vw,7px);
    font-size:clamp(.62rem,.82vw,.74rem);
  }
}
@media(min-width:621px) and (max-width:760px){
  .ledger-query-toolbar.settlement-filter{
    gap:3px;
    padding:6px 4px;
    grid-template-columns:minmax(56px,.82fr) minmax(54px,.76fr) max-content max-content max-content minmax(0,1fr) max-content max-content;
  }
  .ledger-query-toolbar.settlement-filter .btn,
  .ledger-query-toolbar.settlement-filter button{
    padding-inline:5px;
    font-size:.68rem;
  }
  .member-entry-grid{
    grid-template-columns:minmax(52px,.78fr) minmax(78px,1.12fr) minmax(54px,.68fr) minmax(84px,.98fr) minmax(48px,.62fr) max-content;
  }
  .member-entry-grid .field>span{font-size:.61rem}
  .member-entry-grid input,
  .member-entry-grid select,
  .member-entry-grid .date-display-input{font-size:.68rem;padding-inline:2px}
  .member-primary-actions>.btn{padding-inline:5px;font-size:.65rem}
  .member-primary-actions>.mini{padding-inline:4px;font-size:.62rem}
}

/* 7.0.57: global fluid PC controls. Keep compact input/query/tool rows on one line whenever practical. */
@media(min-width:621px){
  body.fluid-layout-active main .fluid-pc-row{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start;
    gap:clamp(3px,.42vw,7px)!important;
    width:100%;
    min-width:0;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
    overscroll-behavior-x:contain;
  }
  body.fluid-layout-active main .fluid-pc-row.panel{
    padding:clamp(6px,.68vw,10px);
    margin-bottom:clamp(5px,.65vw,9px);
  }
  body.fluid-layout-active main .fluid-pc-row>.fluid-pc-item{
    flex:var(--fluid-user-grow,var(--fluid-grow,1)) 1 0!important;
    min-width:min(var(--fluid-min,58px),100%)!important;
    max-width:none!important;
    width:auto!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
  body.fluid-layout-active main .fluid-pc-row>.field{
    display:flex;
    flex-direction:column;
    gap:2px;
  }
  body.fluid-layout-active main .fluid-pc-row>.field>span{
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:clamp(.62rem,.72vw,.76rem);
    line-height:1.05;
  }
  body.fluid-layout-active main .fluid-pc-row input:not([type="hidden"]),
  body.fluid-layout-active main .fluid-pc-row select,
  body.fluid-layout-active main .fluid-pc-row .date-input-shell{
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
  }
  body.fluid-layout-active main .fluid-pc-row input:not([type="hidden"]),
  body.fluid-layout-active main .fluid-pc-row select{
    min-height:clamp(29px,2.2vw,34px);
    padding:4px clamp(3px,.42vw,7px);
    font-size:clamp(.68rem,.76vw,.84rem);
  }
  body.fluid-layout-active main .fluid-pc-row>.form-actions,
  body.fluid-layout-active main .fluid-pc-row>.report-toolbar,
  body.fluid-layout-active main .fluid-pc-row>.compact-actions,
  body.fluid-layout-active main .fluid-pc-row>.actions{
    display:flex!important;
    flex:0 1 auto!important;
    flex-flow:row nowrap!important;
    align-items:flex-end;
    gap:clamp(3px,.35vw,6px);
    white-space:nowrap;
    min-width:0!important;
  }
  body.fluid-layout-active main .fluid-pc-row>.btn,
  body.fluid-layout-active main .fluid-pc-row>a.btn,
  body.fluid-layout-active main .fluid-pc-row>button,
  body.fluid-layout-active main .fluid-pc-row .form-actions>.btn,
  body.fluid-layout-active main .fluid-pc-row .form-actions>.mini{
    flex:0 1 auto;
    min-width:0!important;
    min-height:clamp(29px,2.2vw,34px);
    padding:4px clamp(5px,.56vw,11px);
    font-size:clamp(.64rem,.72vw,.82rem);
    overflow:hidden;
    text-overflow:ellipsis;
  }
  body.fluid-layout-active main .fluid-pc-row>.ledger-report-spacer{
    flex:1 10 24px!important;
    min-width:0!important;
  }
  body.fluid-layout-active main .fluid-pc-compact{
    gap:clamp(4px,.55vw,7px)!important;
  }
  body.fluid-layout-active main .fluid-pc-compact .field>span{
    font-size:clamp(.64rem,.75vw,.78rem);
  }
  body.fluid-layout-active main .fluid-pc-tabs{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center;
    gap:clamp(2px,.32vw,5px)!important;
    width:100%;
    min-width:0;
    margin-bottom:clamp(4px,.5vw,7px)!important;
    overflow-x:auto;
    overflow-y:hidden;
    scrollbar-width:thin;
  }
  body.fluid-layout-active main .fluid-pc-tabs>a,
  body.fluid-layout-active main .fluid-pc-tabs>button,
  body.fluid-layout-active main .fluid-pc-tabs>.game-txt-toggle{
    flex:0 1 auto;
    min-width:0!important;
    min-height:clamp(28px,2vw,32px);
    padding:3px clamp(5px,.58vw,11px)!important;
    font-size:clamp(.64rem,.72vw,.8rem)!important;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  body.fluid-layout-active main .fluid-pc-tabs>.tab-status{
    flex:0 1 auto;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:clamp(.62rem,.7vw,.76rem);
  }
  body.fluid-layout-active main .fluid-pc-tools{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:center;
    justify-content:flex-end;
    gap:clamp(3px,.35vw,6px)!important;
    min-width:0;
    margin-bottom:clamp(4px,.45vw,7px)!important;
  }
  body.fluid-layout-active main .fluid-pc-tools>.btn,
  body.fluid-layout-active main .fluid-pc-tools>.mini,
  body.fluid-layout-active main .fluid-pc-tools>button,
  body.fluid-layout-active main .fluid-pc-tools>a{
    min-width:0;
    padding-inline:clamp(5px,.55vw,10px);
    font-size:clamp(.64rem,.72vw,.8rem);
    white-space:nowrap;
  }
  body.fluid-layout-active .program-page{
    margin-top:clamp(4px,.65vw,10px);
    margin-bottom:28px;
  }
  body.fluid-layout-active .program-page .page-title{
    margin-bottom:clamp(2px,.35vw,5px);
  }
  body.fluid-layout-active .program-page>.panel:not(.fluid-pc-row),
  body.fluid-layout-active .program-page>form.panel:not(.fluid-pc-row){
    margin-bottom:clamp(6px,.65vw,10px);
  }
  body.fluid-layout-active .program-page .input-result-panel{margin-top:clamp(5px,.55vw,9px)}
  body.fluid-layout-active .program-page .capture-subtitle{margin-bottom:clamp(6px,.65vw,10px)}
  body.fluid-layout-active .program-page .summary{margin:clamp(5px,.55vw,9px) 0}
}
@media(min-width:621px) and (max-width:900px){
  body.fluid-layout-active main .fluid-pc-row{gap:3px!important}
  body.fluid-layout-active main .fluid-pc-row>.fluid-pc-item{min-width:min(calc(var(--fluid-min,58px) * .82),100%)!important}
  body.fluid-layout-active main .fluid-pc-row>.field>span{font-size:clamp(.58rem,.92vw,.68rem)}
  body.fluid-layout-active main .fluid-pc-row input:not([type="hidden"]),
  body.fluid-layout-active main .fluid-pc-row select{font-size:clamp(.64rem,1.05vw,.76rem);padding-inline:2px}
  body.fluid-layout-active main .fluid-pc-row>.btn,
  body.fluid-layout-active main .fluid-pc-row>a.btn,
  body.fluid-layout-active main .fluid-pc-row>button,
  body.fluid-layout-active main .fluid-pc-row .form-actions>.btn,
  body.fluid-layout-active main .fluid-pc-row .form-actions>.mini{padding-inline:4px;font-size:clamp(.6rem,.94vw,.72rem)}
}
/* 7.1.31-r2: PC input/query fields support temporary mouse resizing only. */
@media(min-width:621px){
  body.fluid-layout-active main .fluid-pc-row>.fluid-pc-item{
    position:relative;
  }
  body.fluid-layout-active main .fluid-resize-handle{
    position:absolute;
    top:0;
    right:-5px;
    bottom:0;
    width:10px;
    z-index:8;
    cursor:col-resize;
    touch-action:none;
    outline:none;
  }
  body.fluid-layout-active main .fluid-resize-handle::after{
    content:"";
    position:absolute;
    top:18%;
    bottom:8%;
    left:50%;
    width:2px;
    border-radius:2px;
    background:#6f8db2;
    opacity:0;
    transform:translateX(-50%);
    transition:opacity .12s ease,background .12s ease;
  }
  body.fluid-layout-active main .fluid-pc-item:hover>.fluid-resize-handle::after,
  body.fluid-layout-active main .fluid-resize-handle:focus::after,
  body.fluid-layout-active main .fluid-resize-handle.active::after{
    opacity:.8;
  }
  body.fluid-layout-active main .fluid-resize-handle.active::after{
    background:#145caa;
  }
  body.fluid-resizing,
  body.fluid-resizing *{
    cursor:col-resize!important;
    user-select:none!important;
  }
}
@media(max-width:620px){
  .fluid-resize-handle{display:none!important}
}

@media print{
  .fluid-pc-row,.fluid-pc-tabs,.fluid-pc-tools{overflow:visible!important}
}

/* 7.0.59: the final or only PC field also exposes its right-edge resize handle. */
@media(min-width:621px){
  body.fluid-layout-active main .fluid-resize-handle.terminal{right:-5px}
}


/* 7.0.60: left-packed manual widths and equal-height PC form/query controls. */
@media(min-width:621px){
  body.fluid-layout-active main .fluid-pc-row{
    --fluid-control-height:clamp(30px,2.2vw,34px);
    justify-content:flex-start!important;
    align-content:flex-end!important;
  }
  body.fluid-layout-active main .fluid-pc-row>.fluid-pc-item{
    margin-inline:0!important;
    box-sizing:border-box;
  }
  body.fluid-layout-active main .fluid-pc-row.fluid-user-packed>.fluid-resizable-item{
    flex:0 1 var(--fluid-user-basis,var(--fluid-min,58px))!important;
    width:var(--fluid-user-basis,auto)!important;
    max-width:none!important;
  }
  body.fluid-layout-active main .fluid-pc-row>.field,
  body.fluid-layout-active main .fluid-pc-row>label.fluid-pc-item{
    align-self:stretch!important;
    justify-content:flex-end;
    min-height:calc(var(--fluid-control-height) + 1.1em + 2px);
  }
  body.fluid-layout-active main .fluid-pc-row>.field>span,
  body.fluid-layout-active main .fluid-pc-row>label.fluid-pc-item>span{
    display:flex;
    align-items:flex-end;
    height:1.1em;
    min-height:1.1em;
    max-height:1.1em;
    line-height:1.1;
  }
  body.fluid-layout-active main .fluid-pc-row input:not([type="hidden"]):not(.date-picker-input),
  body.fluid-layout-active main .fluid-pc-row select,
  body.fluid-layout-active main .fluid-pc-row .date-input-shell{
    height:var(--fluid-control-height)!important;
    min-height:var(--fluid-control-height)!important;
    max-height:var(--fluid-control-height)!important;
    box-sizing:border-box;
  }
  body.fluid-layout-active main .fluid-pc-row .date-input-shell .date-display-input,
  body.fluid-layout-active main .fluid-pc-row .date-input-shell .date-picker-button{
    height:100%!important;
    min-height:0!important;
    max-height:none!important;
    box-sizing:border-box;
  }
  body.fluid-layout-active main .fluid-pc-row .date-picker-input{
    width:1px!important;
    height:1px!important;
    min-height:1px!important;
    max-height:1px!important;
  }
  body.fluid-layout-active main .fluid-pc-row>.btn,
  body.fluid-layout-active main .fluid-pc-row>a.btn,
  body.fluid-layout-active main .fluid-pc-row>button,
  body.fluid-layout-active main .fluid-pc-row>.form-actions>.btn,
  body.fluid-layout-active main .fluid-pc-row>.form-actions>.mini,
  body.fluid-layout-active main .fluid-pc-row>.compact-actions>.btn,
  body.fluid-layout-active main .fluid-pc-row>.actions>.btn{
    height:var(--fluid-control-height)!important;
    min-height:var(--fluid-control-height)!important;
    max-height:var(--fluid-control-height)!important;
    box-sizing:border-box;
    align-self:flex-end;
  }
  body.fluid-layout-active main .fluid-pc-row>.form-actions,
  body.fluid-layout-active main .fluid-pc-row>.report-toolbar,
  body.fluid-layout-active main .fluid-pc-row>.compact-actions,
  body.fluid-layout-active main .fluid-pc-row>.actions{
    align-self:stretch!important;
    align-items:flex-end!important;
    min-height:calc(var(--fluid-control-height) + 1.1em + 2px);
  }
}

/* 7.0.62: restore reliable mouse resizing after left-packed/equal-height changes. */
@media(min-width:621px){
  body.fluid-layout-active main .fluid-pc-row>.fluid-resizable-item{
    position:relative!important;
  }
  body.fluid-layout-active main .fluid-resize-handle,
  body.fluid-layout-active main .fluid-resize-handle.terminal{
    top:0!important;
    right:0!important;
    bottom:0!important;
    width:12px!important;
    min-width:12px!important;
    display:block!important;
    visibility:visible!important;
    pointer-events:auto!important;
    cursor:col-resize!important;
    z-index:40!important;
  }
  body.fluid-layout-active main .fluid-resize-handle::after{
    top:14%!important;
    bottom:7%!important;
    left:auto!important;
    right:1px!important;
    width:3px!important;
    opacity:.34!important;
    transform:none!important;
  }
  body.fluid-layout-active main .fluid-resizable-item:hover>.fluid-resize-handle::after,
  body.fluid-layout-active main .fluid-resize-handle:hover::after,
  body.fluid-layout-active main .fluid-resize-handle:focus::after,
  body.fluid-layout-active main .fluid-resize-handle.active::after{
    opacity:1!important;
  }
}





/* 7.1.31-r2: compact action tabs, centered field labels, and resizable member extras. */
@media(min-width:621px){

  body.fluid-layout-active main .ranking-year-filter + .btn,
  body.fluid-layout-active main .ranking-year-filter + .btn + .btn,
  body.fluid-layout-active main .ledger-query-toolbar > .btn,
  body.fluid-layout-active main .ledger-query-toolbar > a.btn,
  body.fluid-layout-active main .fee-filter-bar > .btn,
  body.fluid-layout-active main .fee-filter-bar > a.btn,
  body.fluid-layout-active main .quarter-toolbar > .btn,
  body.fluid-layout-active main .quarter-toolbar > a.btn{
    flex:0 0 auto!important;
    width:max-content!important;
    min-width:max-content!important;
    padding-inline:9px!important;
  }

  body.fluid-layout-active main .ledger-query-toolbar > .field > span,
  body.fluid-layout-active main .fee-filter-bar > .field > span,
  body.fluid-layout-active main .quarter-toolbar .field > span{
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }

  body.fluid-layout-active main .member-extra.fluid-pc-row{
    display:flex!important;
    flex-flow:row nowrap!important;
    justify-content:flex-start!important;
    overflow-x:auto;
  }
  body.fluid-layout-active main .member-extra.fluid-pc-row[hidden]{display:none!important}
}


/* 7.0.67: compact report-query actions, centered labels, and uniform control heights. */
@media(min-width:621px){
  body.fluid-layout-active main .uniform-control-toolbar,
  body.fluid-layout-active main .game-report-filter,
  body.fluid-layout-active main .fee-report-filter,
  body.fluid-layout-active main .quarter-report-filter,
  body.fluid-layout-active main .ranking-toolbar,
  body.fluid-layout-active main .ranking-report-filter{
    align-items:flex-end!important;
  }

  body.fluid-layout-active main .uniform-control-toolbar .field>span,
  body.fluid-layout-active main .game-report-filter .field>span,
  body.fluid-layout-active main .fee-report-filter .field>span,
  body.fluid-layout-active main .quarter-report-filter .field>span,
  body.fluid-layout-active main .ranking-toolbar .field>span,
  body.fluid-layout-active main .ranking-report-filter .field>span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:18px!important;
    text-align:center!important;
    line-height:1.1!important;
  }

  body.fluid-layout-active main .uniform-control-toolbar input,
  body.fluid-layout-active main .uniform-control-toolbar select,
  body.fluid-layout-active main .uniform-control-toolbar .btn,
  body.fluid-layout-active main .game-report-filter input,
  body.fluid-layout-active main .game-report-filter select,
  body.fluid-layout-active main .game-report-filter .btn,
  body.fluid-layout-active main .fee-report-filter input,
  body.fluid-layout-active main .fee-report-filter select,
  body.fluid-layout-active main .fee-report-filter .btn,
  body.fluid-layout-active main .quarter-report-filter input,
  body.fluid-layout-active main .quarter-report-filter select,
  body.fluid-layout-active main .quarter-report-filter .btn,
  body.fluid-layout-active main .ranking-toolbar input,
  body.fluid-layout-active main .ranking-toolbar select,
  body.fluid-layout-active main .ranking-toolbar .btn,
  body.fluid-layout-active main .ranking-report-filter input,
  body.fluid-layout-active main .ranking-report-filter select,
  body.fluid-layout-active main .ranking-report-filter .btn,
  body.fluid-layout-active main .report-toolbar .btn{
    box-sizing:border-box!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    line-height:1.1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
  }

  body.fluid-layout-active main .game-report-filter>.btn,
  body.fluid-layout-active main .game-report-filter>button.btn,
  body.fluid-layout-active main .fee-report-filter>.btn,
  body.fluid-layout-active main .quarter-report-filter>.btn,
  body.fluid-layout-active main .ranking-report-filter>.btn{
    flex:0 0 auto!important;
    width:max-content!important;
    min-width:max-content!important;
    padding-inline:9px!important;
    white-space:nowrap!important;
  }

  body.fluid-layout-active main .ranking-toolbar>.btn,
  body.fluid-layout-active main .ranking-toolbar>a.btn,
  body.fluid-layout-active main .quarter-toolbar>.btn,
  body.fluid-layout-active main .quarter-toolbar>a.btn{
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    flex:0 0 auto!important;
    width:max-content!important;
    min-width:max-content!important;
    padding-inline:9px!important;
    white-space:nowrap!important;
  }

  body.fluid-layout-active main .quarter-toolbar .quarter-filter-form{
    align-items:flex-end!important;
  }
}

/* 7.0.69: one control-height contract for every management input/query/report toolbar. */
@media(min-width:621px){
  body.fluid-layout-active main{
    --manage-control-height:36px;
    --manage-label-height:18px;
  }

  body.fluid-layout-active main .filter-bar,
  body.fluid-layout-active main .form-bar,
  body.fluid-layout-active main .uniform-control-toolbar,
  body.fluid-layout-active main .report-tools-row,
  body.fluid-layout-active main .quarter-filter-form{
    align-items:flex-end!important;
  }

  body.fluid-layout-active main .filter-bar>.field,
  body.fluid-layout-active main .form-bar>.field,
  body.fluid-layout-active main .uniform-control-toolbar>.field,
  body.fluid-layout-active main .quarter-filter-form>.field{
    justify-content:flex-end!important;
  }

  body.fluid-layout-active main .filter-bar>.field>span,
  body.fluid-layout-active main .form-bar>.field>span,
  body.fluid-layout-active main .uniform-control-toolbar>.field>span,
  body.fluid-layout-active main .quarter-filter-form>.field>span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    height:var(--manage-label-height)!important;
    min-height:var(--manage-label-height)!important;
    max-height:var(--manage-label-height)!important;
    margin:0!important;
    line-height:1!important;
    text-align:center!important;
  }

  body.fluid-layout-active main .filter-bar input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .filter-bar select,
  body.fluid-layout-active main .filter-bar button.btn,
  body.fluid-layout-active main .filter-bar a.btn,
  body.fluid-layout-active main .form-bar input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .form-bar select,
  body.fluid-layout-active main .form-bar button.btn,
  body.fluid-layout-active main .form-bar a.btn,
  body.fluid-layout-active main .report-toolbar button.btn,
  body.fluid-layout-active main .report-toolbar a.btn,
  body.fluid-layout-active main .quarter-filter-form input:not([type="hidden"]),
  body.fluid-layout-active main .quarter-filter-form select,
  body.fluid-layout-active main .quarter-filter-form button.btn{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    height:var(--manage-control-height)!important;
    min-height:var(--manage-control-height)!important;
    max-height:var(--manage-control-height)!important;
    margin:0!important;
    line-height:1!important;
  }

  body.fluid-layout-active main .filter-bar .date-input-shell,
  body.fluid-layout-active main .form-bar .date-input-shell{
    box-sizing:border-box!important;
    height:var(--manage-control-height)!important;
    min-height:var(--manage-control-height)!important;
    max-height:var(--manage-control-height)!important;
  }

  body.fluid-layout-active main .report-tools-row>.report-toolbar{
    align-self:flex-end!important;
    align-items:flex-end!important;
    min-height:var(--manage-control-height)!important;
    height:var(--manage-control-height)!important;
    margin:0 0 0 auto!important;
  }

  body.fluid-layout-active main .ranking-toolbar,
  body.fluid-layout-active main .ranking-report-filter,
  body.fluid-layout-active main .fee-report-filter,
  body.fluid-layout-active main .quarter-toolbar,
  body.fluid-layout-active main .quarter-report-filter,
  body.fluid-layout-active main .game-report-filter{
    column-gap:6px!important;
    row-gap:4px!important;
  }
}


/* 7.0.69: keep every field caption on one shared horizontal baseline. */
@media(min-width:621px){
  body.fluid-layout-active main{
    --manage-caption-height:18px;
    --manage-control-height:36px;
  }

  body.fluid-layout-active main .fluid-pc-row>.field,
  body.fluid-layout-active main .fluid-pc-row>label.fluid-pc-item,
  body.fluid-layout-active main .form-bar>.field,
  body.fluid-layout-active main .filter-bar>.field{
    display:flex!important;
    flex-direction:column!important;
    align-self:flex-end!important;
    justify-content:flex-end!important;
    gap:3px!important;
    min-height:calc(var(--manage-caption-height) + var(--manage-control-height) + 3px)!important;
  }

  body.fluid-layout-active main .fluid-pc-row>.field>span:first-child,
  body.fluid-layout-active main .form-bar>.field>span:first-child,
  body.fluid-layout-active main .filter-bar>.field>span:first-child,
  body.fluid-layout-active main .pc-inputbar>label>.pc-field-caption{
    display:flex!important;
    flex:0 0 var(--manage-caption-height)!important;
    align-items:center!important;
    justify-content:center!important;
    box-sizing:border-box!important;
    width:100%!important;
    height:var(--manage-caption-height)!important;
    min-height:var(--manage-caption-height)!important;
    max-height:var(--manage-caption-height)!important;
    margin:0!important;
    padding:0 2px!important;
    line-height:1!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }

  body.fluid-layout-active main .pc-inputbar>label{
    grid-template-columns:none!important;
    grid-template-rows:var(--manage-caption-height) var(--manage-control-height)!important;
    align-items:end!important;
    gap:3px!important;
  }

  body.fluid-layout-active main .pc-inputbar>label>input:not([type=hidden]),
  body.fluid-layout-active main .pc-inputbar>label>select,
  body.fluid-layout-active main .fluid-pc-row>.field>input:not([type=hidden]):not([type=checkbox]):not([type=radio]),
  body.fluid-layout-active main .fluid-pc-row>.field>select,
  body.fluid-layout-active main .fluid-pc-row>.field>.date-input-shell{
    box-sizing:border-box!important;
    height:var(--manage-control-height)!important;
    min-height:var(--manage-control-height)!important;
    max-height:var(--manage-control-height)!important;
    margin:0!important;
  }

  body.fluid-layout-active main .fluid-pc-row>.form-actions,
  body.fluid-layout-active main .fluid-pc-row>.btn,
  body.fluid-layout-active main .fluid-pc-row>button{
    align-self:flex-end!important;
  }
}


/* 7.1.00: saved management form layout is also rendered in operator view mode.
 * View mode restores the same packed widths and alignment but never exposes resize handles. */
@media(min-width:621px){
  body.fluid-layout-active.mode-view main .fluid-resize-handle{display:none!important}
  body.fluid-layout-active.mode-view main .fluid-layout-view{cursor:default}
}


/* 7.1.31-r2 common corrections */
.quarter-cumulative-alert{
  color:#b42318!important;
  font-weight:900!important;
  text-shadow:0 0 .01px currentColor;
}
/* 7.1.31-r2 fee management compact member selector cleanup. */
.fee-entry-grid .fee-equal-field{
  width:118px!important;
  flex:0 0 118px!important;
  min-width:118px!important;
  max-width:118px!important;
  grid-column:auto!important;
}
.fee-entry-grid .fee-member-select{
  width:118px!important;
  min-width:0!important;
  max-width:118px!important;
}
.fee-entry-grid .fee-register-actions{
  grid-column:auto!important;
  justify-content:flex-start!important;
}
.fee-inline-status{display:none!important}

/* 7.1.18: 입력·조회 필드는 화면 너비가 커져도 값 기준 폭을 유지한다. */
@media(min-width:621px){
  body.fluid-layout-active main .game-entry-grid.fluid-pc-row,
  body.fluid-layout-active main .game-query-toolbar.fluid-pc-row,
  body.fluid-layout-active main .game-report-filter.fluid-pc-row,
  body.fluid-layout-active main .ranking-toolbar.fluid-pc-row,
  body.fluid-layout-active main .ranking-report-filter.fluid-pc-row,
  body.fluid-layout-active main .ledger-entry-grid.fluid-pc-row,
  body.fluid-layout-active main .ledger-query-toolbar.fluid-pc-row,
  body.fluid-layout-active main .fee-entry-grid.fluid-pc-row,
  body.fluid-layout-active main .fee-filter-bar.fluid-pc-row,
  body.fluid-layout-active main .fee-report-filter.fluid-pc-row,
  body.fluid-layout-active main .quarter-toolbar.fluid-pc-row,
  body.fluid-layout-active main .quarter-filter-form.fluid-pc-row{
    display:flex!important;
    flex-flow:row nowrap!important;
    justify-content:flex-start!important;
    align-items:flex-end!important;
    gap:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }

  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.field,
  body.fluid-layout-active main .game-query-toolbar.fluid-pc-row>.field,
  body.fluid-layout-active main .game-report-filter.fluid-pc-row>.field,
  body.fluid-layout-active main .ranking-toolbar.fluid-pc-row>.field,
  body.fluid-layout-active main .ranking-report-filter.fluid-pc-row>.field,
  body.fluid-layout-active main .ledger-entry-grid.fluid-pc-row>.field,
  body.fluid-layout-active main .ledger-query-toolbar.fluid-pc-row>.field,
  body.fluid-layout-active main .fee-entry-grid.fluid-pc-row>.field,
  body.fluid-layout-active main .fee-filter-bar.fluid-pc-row>.field,
  body.fluid-layout-active main .fee-report-filter.fluid-pc-row>.field,
  body.fluid-layout-active main .quarter-filter-form.fluid-pc-row>.field{
    flex:0 0 var(--fit-field-width,88px)!important;
    width:var(--fit-field-width,88px)!important;
    min-width:var(--fit-field-width,88px)!important;
    max-width:var(--fit-field-width,88px)!important;
    grid-column:auto!important;
  }

  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.field>select,
  body.fluid-layout-active main .game-query-toolbar.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .game-query-toolbar.fluid-pc-row>.field>select,
  body.fluid-layout-active main .game-report-filter.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .game-report-filter.fluid-pc-row>.field>select,
  body.fluid-layout-active main .ranking-toolbar.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .ranking-report-filter.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .ledger-entry-grid.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .ledger-entry-grid.fluid-pc-row>.field>select,
  body.fluid-layout-active main .ledger-query-toolbar.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .ledger-query-toolbar.fluid-pc-row>.field>select,
  body.fluid-layout-active main .fee-entry-grid.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .fee-entry-grid.fluid-pc-row>.field>select,
  body.fluid-layout-active main .fee-filter-bar.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .fee-report-filter.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .quarter-filter-form.fluid-pc-row>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  body.fluid-layout-active main .quarter-filter-form.fluid-pc-row>.field>select,
  body.fluid-layout-active main .fluid-pc-row>.field>.date-input-shell{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.form-actions,
  body.fluid-layout-active main .ledger-entry-grid.fluid-pc-row>.form-actions,
  body.fluid-layout-active main .fee-entry-grid.fluid-pc-row>.form-actions{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:max-content!important;
    grid-column:auto!important;
  }

  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.field:nth-of-type(1),
  body.fluid-layout-active main .game-query-toolbar.fluid-pc-row>.game-query-week-filter{--fit-field-width:98px}
  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.field:nth-of-type(2){--fit-field-width:104px}
  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.field:nth-of-type(3),
  body.fluid-layout-active main .game-query-toolbar.fluid-pc-row>.game-query-member-filter,
  body.fluid-layout-active main .game-report-filter.fluid-pc-row>.field:nth-of-type(2){--fit-field-width:92px}
  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.field:nth-of-type(4),
  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.field:nth-of-type(5),
  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.field:nth-of-type(6),
  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.field:nth-of-type(7){--fit-field-width:58px}
  body.fluid-layout-active main .game-entry-grid.fluid-pc-row>.game-note-field{--fit-field-width:96px}
  body.fluid-layout-active main .game-query-toolbar.fluid-pc-row>.game-query-mode-filter{--fit-field-width:112px}
  body.fluid-layout-active main .game-query-toolbar.fluid-pc-row>.game-query-year-filter,
  body.fluid-layout-active main .ranking-toolbar.fluid-pc-row>.ranking-year-filter,
  body.fluid-layout-active main .ranking-report-filter.fluid-pc-row>.ranking-report-year-filter,
  body.fluid-layout-active main .fee-filter-bar.fluid-pc-row>.fee-year-filter,
  body.fluid-layout-active main .fee-report-filter.fluid-pc-row>.fee-report-year-filter,
  body.fluid-layout-active main .quarter-filter-form.fluid-pc-row>.quarter-year-filter{--fit-field-width:74px}
  body.fluid-layout-active main .ledger-entry-grid.fluid-pc-row>.field:nth-of-type(1),
  body.fluid-layout-active main .fee-entry-grid.fluid-pc-row>.fee-date-field{--fit-field-width:98px}
  body.fluid-layout-active main .ledger-entry-grid.fluid-pc-row>.field:nth-of-type(2){--fit-field-width:64px}
  body.fluid-layout-active main .ledger-entry-grid.fluid-pc-row>.field:nth-of-type(3){--fit-field-width:100px}
  body.fluid-layout-active main .ledger-entry-grid.fluid-pc-row>.field:nth-of-type(4){--fit-field-width:112px}
  body.fluid-layout-active main .ledger-entry-grid.fluid-pc-row>.ledger-note-field{--fit-field-width:284px}
  body.fluid-layout-active main .ledger-query-toolbar.fluid-pc-row>.ledger-year-filter{--fit-field-width:74px}
  body.fluid-layout-active main .ledger-query-toolbar.fluid-pc-row>.ledger-month-filter{--fit-field-width:74px}
  body.fluid-layout-active main .fee-entry-grid.fluid-pc-row>.fee-equal-field{--fit-field-width:74px}
  body.fluid-layout-active main .fee-entry-grid.fluid-pc-row>.field:nth-of-type(3){--fit-field-width:170px}
  body.fluid-layout-active main .fee-entry-grid.fluid-pc-row>.fee-monthly-field{--fit-field-width:86px}
  body.fluid-layout-active main .quarter-filter-form.fluid-pc-row>.quarter-select-filter{--fit-field-width:78px}

  .fee-entry-grid .fee-member-select{width:100%!important;max-width:100%!important}
  .fee-inline-status{display:none!important}
}

/* 7.1.31-r2: 관리 프로그램 입력·조회 필드 최종 고정폭 규칙.
   화면이 넓어져도 필드는 기준값 폭을 유지하고 왼쪽부터 배치한다. */
.program-page .form-bar.game-entry-grid,
.program-page .filter-bar.game-query-toolbar,
.program-page .filter-bar.game-report-filter,
.program-page .filter-bar.ranking-toolbar,
.program-page .filter-bar.ranking-report-filter,
.program-page .form-bar.ledger-entry-grid,
.program-page .filter-bar.ledger-query-toolbar,
.program-page .filter-bar.settlement-filter,
.program-page .form-bar.fee-entry-grid,
.program-page .filter-bar.fee-filter-bar,
.program-page .filter-bar.fee-report-filter,
.program-page .filter-bar.quarter-toolbar,
.program-page .quarter-filter-form,
.program-page .filter-bar.quarter-report-filter,
.fit-fixed-field-row{
  display:flex!important;
  flex-flow:row nowrap!important;
  justify-content:flex-start!important;
  align-items:flex-end!important;
  align-content:flex-start!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.program-page .filter-bar.quarter-toolbar{align-items:center!important}
.program-page .quarter-filter-form{width:auto!important;max-width:max-content!important;overflow:visible!important;margin:0!important}
.program-page .game-entry-grid>.field,
.program-page .game-query-toolbar>.field,
.program-page .game-report-filter>.field,
.program-page .ranking-toolbar>.field,
.program-page .ranking-report-filter>.field,
.program-page .ledger-entry-grid>.field,
.program-page .ledger-query-toolbar>.field,
.program-page .settlement-filter>.field,
.program-page .fee-entry-grid>.field,
.program-page .fee-filter-bar>.field,
.program-page .fee-report-filter>.field,
.program-page .quarter-filter-form>.field,
.program-page .quarter-report-filter>.field,
.fit-fixed-field-row>.field.fit-fixed-field{
  flex:0 0 var(--fit-field-width,88px)!important;
  width:var(--fit-field-width,88px)!important;
  min-width:var(--fit-field-width,88px)!important;
  max-width:none!important;
  grid-column:auto!important;
  align-self:flex-end!important;
}
.program-page .game-entry-grid>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .game-entry-grid>.field>select,
.program-page .game-query-toolbar>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .game-query-toolbar>.field>select,
.program-page .game-report-filter>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .game-report-filter>.field>select,
.program-page .ranking-toolbar>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .ranking-report-filter>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .ledger-entry-grid>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .ledger-entry-grid>.field>select,
.program-page .ledger-query-toolbar>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .ledger-query-toolbar>.field>select,
.program-page .settlement-filter>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .settlement-filter>.field>select,
.program-page .fee-entry-grid>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .fee-entry-grid>.field>select,
.program-page .fee-filter-bar>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .fee-filter-bar>.field>select,
.program-page .fee-report-filter>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .fee-report-filter>.field>select,
.program-page .quarter-filter-form>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .quarter-filter-form>.field>select,
.program-page .quarter-report-filter>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .quarter-report-filter>.field>select,
.fit-fixed-field>.date-input-shell,
.fit-fixed-field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.fit-fixed-field>select{
  width:var(--fit-control-width,var(--fit-field-width,88px))!important;
  min-width:var(--fit-control-width,var(--fit-field-width,88px))!important;
  max-width:none!important;
}
.program-page .game-entry-grid>.form-actions,
.program-page .ledger-entry-grid>.form-actions,
.program-page .fee-entry-grid>.form-actions,
.program-page .filter-bar>button.btn,
.program-page .filter-bar>a.btn,
.program-page .quarter-toolbar>button.btn,
.program-page .quarter-toolbar>a.btn{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:max-content!important;
  grid-column:auto!important;
}
/* JS가 늦게 실행되거나 비활성인 환경에서도 기준 폭이 먼저 적용되도록 정적 폭을 둔다. */
.program-page .game-entry-grid>.field:nth-of-type(1),
.program-page .game-query-toolbar>.game-query-week-filter{--fit-field-width:98px;--fit-control-width:98px}
.program-page .game-entry-grid>.field:nth-of-type(2){--fit-field-width:104px;--fit-control-width:104px}
.program-page .game-entry-grid>.field:nth-of-type(3),
.program-page .game-query-toolbar>.game-query-member-filter,
.program-page .game-report-filter>.field:nth-of-type(2),
.program-page .fee-entry-grid>.fee-equal-field{--fit-field-width:82px;--fit-control-width:82px}
.program-page .game-entry-grid>.field:nth-of-type(4),
.program-page .game-entry-grid>.field:nth-of-type(5),
.program-page .game-entry-grid>.field:nth-of-type(6),
.program-page .game-entry-grid>.field:nth-of-type(7){--fit-field-width:58px;--fit-control-width:58px}
.program-page .game-entry-grid>.game-note-field{--fit-field-width:92px;--fit-control-width:92px}
.program-page .game-query-toolbar>.game-query-mode-filter{--fit-field-width:116px;--fit-control-width:116px}
.program-page .game-query-toolbar>.game-query-year-filter,
.program-page .ranking-toolbar>.ranking-year-filter,
.program-page .ranking-report-filter>.ranking-report-year-filter,
.program-page .fee-filter-bar>.fee-year-filter,
.program-page .fee-report-filter>.fee-report-year-filter,
.program-page .quarter-filter-form>.quarter-year-filter,
.program-page .quarter-report-filter>.quarter-report-year-filter,
.program-page .ledger-query-toolbar>.ledger-year-filter{--fit-field-width:74px;--fit-control-width:74px}
.program-page .ledger-entry-grid>.field:nth-of-type(1),
.program-page .fee-entry-grid>.fee-date-field{--fit-field-width:88px;--fit-control-width:88px}
.program-page .ledger-entry-grid>.field:nth-of-type(2){--fit-field-width:62px;--fit-control-width:62px}
.program-page .ledger-entry-grid>.field:nth-of-type(3){--fit-field-width:96px;--fit-control-width:96px}
.program-page .ledger-entry-grid>.field:nth-of-type(4){--fit-field-width:112px;--fit-control-width:112px}
.program-page .ledger-entry-grid>.ledger-note-field{--fit-field-width:288px;--fit-control-width:288px}
.program-page .ledger-query-toolbar>.ledger-month-filter,
.program-page .settlement-filter>.ledger-month-filter{--fit-field-width:72px;--fit-control-width:72px}
.program-page .fee-entry-grid>.field:nth-of-type(3){--fit-field-width:166px;--fit-control-width:166px}
.program-page .fee-entry-grid>.fee-monthly-field{--fit-field-width:86px;--fit-control-width:86px}
.program-page .quarter-filter-form>.quarter-select-filter,
.program-page .quarter-report-filter>.quarter-report-quarter-filter{--fit-field-width:78px;--fit-control-width:78px}


/* 7.1.31-r2 회원관리 필드 누락 보완: 회원관리 입력·추가정보도 공통 고정폭/좌측정렬 규칙에 포함한다. */
.program-page .form-bar.member-entry-grid,
.program-page .form-bar.member-extra{
  display:flex!important;
  flex-flow:row nowrap!important;
  justify-content:flex-start!important;
  align-items:flex-end!important;
  align-content:flex-start!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
.program-page .member-entry-grid>.field,
.program-page .member-extra>.field{
  flex:0 0 var(--fit-field-width,88px)!important;
  width:var(--fit-field-width,88px)!important;
  min-width:var(--fit-field-width,88px)!important;
  max-width:none!important;
  grid-column:auto!important;
  align-self:flex-end!important;
}
.program-page .member-entry-grid>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .member-entry-grid>.field>select,
.program-page .member-extra>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .member-extra>.field>select{
  width:var(--fit-control-width,var(--fit-field-width,88px))!important;
  min-width:var(--fit-control-width,var(--fit-field-width,88px))!important;
  max-width:none!important;
}
.program-page .member-entry-grid>.member-primary-actions{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:max-content!important;
  grid-column:auto!important;
  justify-content:flex-start!important;
}
.program-page .member-entry-grid>.member-name-field{--fit-field-width:82px;--fit-control-width:82px}
.program-page .member-entry-grid>.member-phone-field{--fit-field-width:126px;--fit-control-width:126px}
.program-page .member-entry-grid>.member-grade-field{--fit-field-width:74px;--fit-control-width:74px}
.program-page .member-entry-grid>.member-join-field{--fit-field-width:88px;--fit-control-width:88px}
.program-page .member-entry-grid>.member-average-field{--fit-field-width:78px;--fit-control-width:78px}
.program-page .member-extra>.field:nth-of-type(1){--fit-field-width:74px;--fit-control-width:74px}
.program-page .member-extra>.field:nth-of-type(2){--fit-field-width:78px;--fit-control-width:78px}
.program-page .member-extra>.field:nth-of-type(3){--fit-field-width:88px;--fit-control-width:88px}
.program-page .member-extra>.field:nth-of-type(4){--fit-field-width:142px;--fit-control-width:142px}
.program-page .member-extra>.field:nth-of-type(5),
.program-page .member-extra>.field:nth-of-type(6){--fit-field-width:88px;--fit-control-width:88px}
.program-page .member-extra>.field:nth-of-type(7){--fit-field-width:124px;--fit-control-width:124px}
.program-page .member-extra>.field:nth-of-type(8){--fit-field-width:138px;--fit-control-width:138px}
.program-page .member-extra>.field:nth-of-type(9){--fit-field-width:62px;--fit-control-width:62px}
.program-page .member-extra>.field:nth-of-type(10){--fit-field-width:80px;--fit-control-width:80px}

/* 7.1.31-r2 회원관리 최종 보정: 회원관리 폼은 인라인 스타일과 동일한 전용 클래스로 폭을 다시 고정한다. */
.program-page .member-fit-inline{
  display:flex!important;
  flex-flow:row nowrap!important;
  justify-content:flex-start!important;
  align-items:flex-end!important;
  align-content:flex-start!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  grid-template-columns:none!important;
}
.program-page .member-fit-inline>.field{
  flex:0 0 var(--fit-field-width,88px)!important;
  width:var(--fit-field-width,88px)!important;
  min-width:var(--fit-field-width,88px)!important;
  max-width:var(--fit-field-width,88px)!important;
  grid-column:auto!important;
}
.program-page .member-fit-inline>.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
.program-page .member-fit-inline>.field>select,
.program-page .member-fit-inline>.field>.date-input-shell{
  width:var(--fit-control-width,var(--fit-field-width,88px))!important;
  min-width:var(--fit-control-width,var(--fit-field-width,88px))!important;
  max-width:var(--fit-control-width,var(--fit-field-width,88px))!important;
}
.program-page .member-fit-inline .date-input-shell .date-display-input{min-width:0!important;width:100%!important}
.program-page .member-fit-inline>.member-primary-actions{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:max-content!important;
  grid-column:auto!important;
}

/* 7.1.31-r2 최종 폼폭 보정: 회원관리 PC 고정폭 + 모바일 줄 배치 강제 */
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline,
html body .program-page .member-editor-panel .member-extra.member-fit-inline{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  align-items:flex-end!important;
  align-content:flex-start!important;
  gap:6px!important;
  grid-template-columns:none!important;
  grid-auto-flow:unset!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>label.field,
html body .program-page .member-editor-panel .member-extra.member-fit-inline>label.field{
  display:grid!important;
  grid-template-columns:1fr!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  flex-basis:var(--fit-field-width,78px)!important;
  width:var(--fit-field-width,78px)!important;
  min-width:var(--fit-field-width,78px)!important;
  max-width:var(--fit-field-width,78px)!important;
  grid-column:auto!important;
  justify-self:start!important;
  align-self:flex-end!important;
}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>label.member-name-field{--fit-field-width:78px!important;--fit-control-width:78px!important}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>label.member-phone-field{--fit-field-width:126px!important;--fit-control-width:126px!important}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>label.member-grade-field{--fit-field-width:76px!important;--fit-control-width:76px!important}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>label.member-join-field{--fit-field-width:92px!important;--fit-control-width:92px!important}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>label.member-average-field{--fit-field-width:74px!important;--fit-control-width:74px!important}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>label.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>label.field>select,
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>label.field>.date-input-shell,
html body .program-page .member-editor-panel .member-extra.member-fit-inline>label.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
html body .program-page .member-editor-panel .member-extra.member-fit-inline>label.field>select,
html body .program-page .member-editor-panel .member-extra.member-fit-inline>label.field>.date-input-shell{
  box-sizing:border-box!important;
  width:var(--fit-control-width,var(--fit-field-width,78px))!important;
  min-width:var(--fit-control-width,var(--fit-field-width,78px))!important;
  max-width:var(--fit-control-width,var(--fit-field-width,78px))!important;
}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline .date-display-input{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>.member-primary-actions{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:max-content!important;
  grid-column:auto!important;
  justify-self:start!important;
}

@media(max-width:620px){
  html body .program-page .form-bar.game-entry-grid,
  html body .program-page .form-bar.game-entry-grid.fit-fixed-field-row{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:end!important;
    justify-content:start!important;
    gap:5px!important;
    overflow:visible!important;
    width:100%!important;
  }
  html body .program-page .game-entry-grid>.field{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:auto!important;
    grid-column:auto!important;
  }
  html body .program-page .game-entry-grid>.field:nth-of-type(1){grid-column:1/2!important;grid-row:1!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(2){grid-column:2/3!important;grid-row:1!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(3){grid-column:3/5!important;grid-row:1!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(4){grid-column:1/2!important;grid-row:2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(5){grid-column:2/3!important;grid-row:2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(6){grid-column:3/4!important;grid-row:2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(7){grid-column:4/5!important;grid-row:2!important}
  html body .program-page .game-entry-grid>.game-note-field{grid-column:1/4!important;grid-row:3!important}
  html body .program-page .game-entry-grid>.form-actions{grid-column:4/5!important;grid-row:3!important;width:auto!important;min-width:0!important;max-width:none!important;justify-content:flex-start!important}
  html body .program-page .game-entry-grid input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  html body .program-page .game-entry-grid select,
  html body .program-page .game-entry-grid .date-input-shell{width:100%!important;min-width:0!important;max-width:100%!important}

  html body .program-page .form-bar.ledger-entry-grid,
  html body .program-page .form-bar.ledger-entry-grid.fit-fixed-field-row{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:end!important;
    gap:5px!important;
    overflow:visible!important;
    width:100%!important;
  }
  html body .program-page .ledger-entry-grid>.field{width:auto!important;min-width:0!important;max-width:none!important;flex:auto!important;grid-column:auto!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(1){grid-column:1/2!important;grid-row:1!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(2){grid-column:2/3!important;grid-row:1!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(3){grid-column:3/4!important;grid-row:1!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(4){grid-column:4/5!important;grid-row:1!important}
  html body .program-page .ledger-entry-grid>.ledger-note-field{grid-column:1/4!important;grid-row:2!important}
  html body .program-page .ledger-entry-grid>.ledger-actions{grid-column:4/5!important;grid-row:2!important;width:auto!important;min-width:0!important;max-width:none!important;justify-content:flex-start!important}
  html body .program-page .ledger-entry-grid input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  html body .program-page .ledger-entry-grid select,
  html body .program-page .ledger-entry-grid .date-input-shell{width:100%!important;min-width:0!important;max-width:100%!important}

  html body .program-page .form-bar.fee-entry-grid,
  html body .program-page .form-bar.fee-entry-grid.fit-fixed-field-row{
    display:flex!important;
    flex-flow:row wrap!important;
    justify-content:flex-start!important;
    align-items:flex-end!important;
    gap:5px!important;
    overflow:visible!important;
    width:100%!important;
  }
  html body .program-page .fee-entry-grid>.field{
    flex:0 0 var(--fee-mobile-width,76px)!important;
    width:var(--fee-mobile-width,76px)!important;
    min-width:var(--fee-mobile-width,76px)!important;
    max-width:var(--fee-mobile-width,76px)!important;
    grid-column:auto!important;
  }
  html body .program-page .fee-entry-grid>.fee-equal-field{--fee-mobile-width:74px!important;--fit-control-width:74px!important}
  html body .program-page .fee-entry-grid>.fee-date-field{--fee-mobile-width:88px!important;--fit-control-width:88px!important}
  html body .program-page .fee-entry-grid>.fee-monthly-field{--fee-mobile-width:78px!important;--fit-control-width:78px!important}
  html body .program-page .fee-entry-grid>.field:nth-of-type(3){--fee-mobile-width:150px!important;--fit-control-width:150px!important;order:5!important}
  html body .program-page .fee-entry-grid>.fee-register-actions{order:4!important;flex:0 0 auto!important;width:auto!important;min-width:max-content!important;max-width:max-content!important;grid-column:auto!important}
  html body .program-page .fee-entry-grid input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  html body .program-page .fee-entry-grid select,
  html body .program-page .fee-entry-grid .date-input-shell{width:100%!important;min-width:0!important;max-width:100%!important}
}


/* 7.1.31-r2: 회원관리 행 분리와 추가정보 토글 복구. 이전 grid/flex 보정이 hidden을 덮지 않게 한다. */
html body .program-page .member-editor-panel .member-extra[hidden],
html body .program-page .member-editor-panel .member-fit-inline[hidden]{display:none!important}
html body .program-page .member-editor-panel .member-entry-stack{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-grid.member-fit-inline,
html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden]){
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  align-items:flex-end!important;
  align-content:flex-start!important;
  gap:6px!important;
  width:auto!important;
  max-width:100%!important;
  overflow:visible!important;
  grid-template-columns:none!important;
  grid-auto-flow:unset!important;
}
html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden]){flex-wrap:wrap!important;margin-top:6px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-grid.member-fit-inline>label.field,
html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field{
  display:grid!important;
  grid-template-columns:1fr!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  flex-basis:var(--fit-field-width,78px)!important;
  width:var(--fit-field-width,78px)!important;
  min-width:var(--fit-field-width,78px)!important;
  max-width:var(--fit-field-width,78px)!important;
  grid-column:auto!important;
  justify-self:start!important;
  align-self:flex-end!important;
}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-grid.member-fit-inline>label.member-name-field{--fit-field-width:78px!important;--fit-control-width:78px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-grid.member-fit-inline>label.member-phone-field{--fit-field-width:126px!important;--fit-control-width:126px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-grid.member-fit-inline>label.member-grade-field{--fit-field-width:76px!important;--fit-control-width:76px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-grid.member-fit-inline>label.member-join-field{--fit-field-width:92px!important;--fit-control-width:92px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-grid.member-fit-inline>label.member-average-field{--fit-field-width:74px!important;--fit-control-width:74px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-grid.member-fit-inline>label.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-grid.member-fit-inline>label.field>select,
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-grid.member-fit-inline>label.field>.date-input-shell,
html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field>input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field>select,
html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field>.date-input-shell{
  box-sizing:border-box!important;
  width:var(--fit-control-width,var(--fit-field-width,78px))!important;
  min-width:var(--fit-control-width,var(--fit-field-width,78px))!important;
  max-width:var(--fit-control-width,var(--fit-field-width,78px))!important;
}
html body .program-page .member-editor-panel .member-entry-stack .date-display-input,
html body .program-page .member-editor-panel .member-extra .date-display-input{min-width:0!important;width:100%!important;max-width:100%!important}
html body .program-page .member-editor-panel .member-entry-action-row>.member-primary-actions{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:max-content!important;
  grid-column:auto!important;
  justify-self:start!important;
  justify-content:flex-start!important;
  align-self:flex-end!important;
}
html body .program-page .member-editor-panel .member-extra-toggle{margin-top:6px!important;margin-left:0!important;display:inline-flex!important}

/* 7.1.31-r2: 휴대폰 게임기록 입력은 1줄 게임일/모임구분/회원명, 2줄 1G~4G/비고, 3줄 등록으로 왼쪽 정렬한다. */
@media(max-width:620px){
  html body .program-page .form-bar.game-entry-grid,
  html body .program-page .form-bar.game-entry-grid.fit-fixed-field-row{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    justify-content:start!important;
    justify-items:stretch!important;
    align-items:end!important;
    gap:5px!important;
    overflow:visible!important;
    width:100%!important;
    max-width:100%!important;
  }
  html body .program-page .game-entry-grid>.field{
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:auto!important;
    grid-column:auto!important;
    justify-self:stretch!important;
  }
  html body .program-page .game-entry-grid>.field:nth-of-type(1){grid-column:1/2!important;grid-row:1!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(2){grid-column:2/3!important;grid-row:1!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(3){grid-column:3/6!important;grid-row:1!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(4){grid-column:1/2!important;grid-row:2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(5){grid-column:2/3!important;grid-row:2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(6){grid-column:3/4!important;grid-row:2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(7){grid-column:4/5!important;grid-row:2!important}
  html body .program-page .game-entry-grid>.game-note-field{grid-column:5/6!important;grid-row:2!important}
  html body .program-page .game-entry-grid>.form-actions{
    grid-column:1/6!important;
    grid-row:3!important;
    justify-content:flex-start!important;
    justify-self:start!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    flex:0 0 auto!important;
  }
  html body .program-page .game-entry-grid input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
  html body .program-page .game-entry-grid select,
  html body .program-page .game-entry-grid .date-input-shell{width:100%!important;min-width:0!important;max-width:100%!important}
}

/* 7.1.31-r2: 회비관리 입력 필드는 최소 폭 기준으로 왼쪽부터 배치하고 필요 시 2줄로 넘긴다. */
html body .program-page .form-bar.fee-entry-grid,
html body .program-page .form-bar.fee-entry-grid.fit-fixed-field-row{
  display:flex!important;
  flex-flow:row wrap!important;
  justify-content:flex-start!important;
  align-items:flex-end!important;
  align-content:flex-start!important;
  gap:6px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  grid-template-columns:none!important;
}
html body .program-page .fee-entry-grid>.field{
  flex:0 0 var(--fee-fit-width,78px)!important;
  width:var(--fee-fit-width,78px)!important;
  min-width:var(--fee-fit-width,78px)!important;
  max-width:var(--fee-fit-width,78px)!important;
  grid-column:auto!important;
}
html body .program-page .fee-entry-grid>.fee-equal-field{--fee-fit-width:72px!important;--fit-control-width:72px!important}
html body .program-page .fee-entry-grid>.fee-date-field{--fee-fit-width:88px!important;--fit-control-width:88px!important}
html body .program-page .fee-entry-grid>.field:nth-of-type(3){--fee-fit-width:150px!important;--fit-control-width:150px!important}
html body .program-page .fee-entry-grid>.fee-monthly-field{--fee-fit-width:78px!important;--fit-control-width:78px!important}
html body .program-page .fee-entry-grid>.fee-register-actions{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:max-content!important;
  grid-column:auto!important;
  justify-content:flex-start!important;
}
html body .program-page .fee-entry-grid input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
html body .program-page .fee-entry-grid select,
html body .program-page .fee-entry-grid .date-input-shell{width:100%!important;min-width:0!important;max-width:100%!important}


/* 7.1.31-r2: 회원관리 기본 입력은 1줄 회원명/연락처/등급, 2줄 가입일/기준에버/작업 버튼으로 고정한다. */
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
  flex-wrap:nowrap!important;
}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-join-field,
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-average-field{
  display:none!important;
}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-action-row.member-fit-inline{
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  align-items:flex-end!important;
}
html body .program-page .member-editor-panel .member-entry-action-row>.member-join-field{order:1!important}
html body .program-page .member-editor-panel .member-entry-action-row>.member-average-field{order:2!important}
html body .program-page .member-editor-panel .member-entry-action-row>.member-primary-actions{order:3!important}


/* 7.1.31-r2 final: safe-area, mobile icon actions, and member-entry responsive layout. */
/* Do not reserve a top safe-area spacer above the management program. */
html{min-height:100%;padding-top:0!important;padding-bottom:env(safe-area-inset-bottom)}
body{min-height:100%;padding-bottom:env(safe-area-inset-bottom);box-sizing:border-box}
.site-head{padding-top:0!important}
main.page{padding-bottom:calc(16px + env(safe-area-inset-bottom))}
.confirm-dialog{border:0;border-radius:12px;padding:0;box-shadow:0 18px 60px rgba(0,0,0,.28);max-width:min(430px,92vw)}
.confirm-dialog::backdrop{background:rgba(0,0,0,.32)}
.confirm-dialog-body{padding:22px;background:#fff;border:1px solid #b8c7d8;border-radius:12px}
.confirm-dialog-body h2{margin:0 0 8px;font-size:1.1rem;color:#173d72}
.confirm-dialog-body p{margin:0 0 16px;line-height:1.55;color:#43576b;font-weight:700}
.confirm-dialog-actions{display:flex;justify-content:flex-end;gap:8px}

html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
  display:flex!important;
  flex-flow:row nowrap!important;
  justify-content:flex-start!important;
  align-items:flex-end!important;
  gap:6px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  grid-template-columns:none!important;
}
html body .program-page .member-editor-panel .member-entry-main-row>.member-phone-row-break{display:none!important}
html body .program-page .member-editor-panel .member-entry-main-row>label.member-join-field,
html body .program-page .member-editor-panel .member-entry-main-row>label.member-average-field{display:grid!important}
html body .program-page .member-editor-panel .member-entry-main-row>.member-primary-actions{
  flex:0 0 auto!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:flex-end!important;
  gap:5px!important;
  min-width:max-content!important;
}
@media(min-width:761px){
  html body .program-page .member-editor-panel .member-entry-main-row.member-fit-inline{flex-wrap:nowrap!important}
}
.action-icon-sprite{position:absolute!important;width:0!important;height:0!important;overflow:hidden!important;pointer-events:none!important}
.action-icon{display:block;width:1.55rem;height:1.55rem;color:#0b2d59;overflow:visible}
.mobile-action-icon{display:none}
@media(max-width:760px){
  .mobile-icon-action{font-size:0!important;line-height:1!important;min-width:32px!important;min-height:30px!important;padding:3px 5px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:0!important}
  .mobile-icon-action.borderless-icon-action{border:0!important;background:transparent!important;box-shadow:none!important;color:#0b2d59!important}
  .mobile-icon-action.field-icon-action{border:0!important;background:transparent!important;box-shadow:none!important;color:#0b2d59!important}
  .mobile-icon-action>.mobile-action-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;font-size:1rem!important;line-height:1!important;font-weight:900!important}
  .mobile-icon-action .action-icon{width:1.65rem;height:1.65rem}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
    flex-wrap:wrap!important;
    overflow:visible!important;
    gap:5px!important;
  }
  html body .program-page .member-editor-panel .member-entry-main-row>.member-phone-row-break{display:block!important;flex:0 0 100%!important;width:100%!important;height:0!important;margin:0!important;padding:0!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-name-field{order:1!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-phone-field{order:2!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-grade-field{order:3!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-phone-row-break{order:4!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-join-field{order:5!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-average-field{order:6!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-primary-actions{order:7!important}
  .program-page .panel{padding:7px!important}
  .program-page .form-bar,.program-page .filter-bar{gap:4px!important}
}

/* 7.1.31-r2 absolute override: 이전 회원관리 2줄 PC 규칙보다 높은 우선순위로 가입일/기준에버를 다시 표시한다. */
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-join-field,
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-average-field{display:grid!important}


/* 7.1.31-r2: 게임기록 조회 관리작업 버튼은 아이콘만 표시한다. */
.game-query-actions .bulk-action-bar{
  align-items:center;
}
.game-query-icon-action{
  min-width:34px!important;
  min-height:30px!important;
  padding:5px 7px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:0!important;
  font-size:0!important;
  line-height:1!important;
}
.game-query-icon-action>span{
  font-size:1rem!important;
  line-height:1!important;
  font-weight:900!important;
}
.game-query-icon-action input{
  margin:0!important;
}
.game-query-icon-action input+span{
  margin-left:3px!important;
}
.game-query-select-all{position:relative;cursor:pointer;border:0!important;background:transparent!important;box-shadow:none!important}
.game-query-select-all input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}
.game-query-select-all .action-icon{width:1.7rem!important;height:1.7rem!important}
.game-query-select-all input:focus-visible+.action-icon{outline:2px solid #0b63ce;outline-offset:3px;border-radius:50%}

/* 7.1.32: 카테고리 관리 입력 필드는 화면 왼쪽 가장자리부터 배치한다. */
html body .program-page .ledger-category-form{
  display:flex!important;
  flex-flow:row wrap!important;
  justify-content:flex-start!important;
  justify-items:start!important;
  align-items:flex-end!important;
  gap:7px!important;
  margin-left:0!important;
  margin-right:auto!important;
}
html body .program-page .ledger-category-form>.field,
html body .program-page .ledger-category-form>.form-actions{grid-column:auto!important;justify-self:start!important}
html body .program-page .ledger-category-form>.ledger-category-type{flex:0 0 100px!important}
html body .program-page .ledger-category-form>.ledger-category-name{flex:0 1 220px!important;min-width:150px!important}
html body .program-page .ledger-category-form>.ledger-category-order{flex:0 0 78px!important}
html body .program-page .ledger-category-form>.ledger-category-actions{flex:0 0 auto!important}

/* 7.1.31-r2: PC/태블릿 게임기록 조회 결과표 표시 복구.
   휴대폰에서는 조회되지만 넓은 화면에서 결과 영역이 레이아웃에 눌리거나 숨는 경우를 막는다. */
@media(min-width:621px){
  html body .program-page .game-query-bulk-form{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:visible!important;
  }
  html body .program-page .game-query-bulk-form>.table-wrap,
  html body .program-page .game-query-bulk-form .table-wrap.sticky-grid,
  html body .program-page .game-query-bulk-form .table-wrap.fit-viewport-grid{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:100%!important;
    max-width:100%!important;
    min-height:220px!important;
    max-height:calc(100vh - 245px)!important;
    max-height:calc(100dvh - 245px)!important;
    overflow:auto!important;
    clear:both!important;
  }
  html body .program-page .game-query-bulk-form .data-table,
  html body .program-page .game-query-bulk-form .data-table.compact{
    display:table!important;
    visibility:visible!important;
    opacity:1!important;
    width:max-content!important;
    min-width:100%!important;
    table-layout:auto!important;
  }
  html body .program-page .game-query-bulk-form .data-table thead{display:table-header-group!important}
  html body .program-page .game-query-bulk-form .data-table tbody{display:table-row-group!important}
  html body .program-page .game-query-bulk-form .data-table tr{display:table-row!important}
  html body .program-page .game-query-bulk-form .data-table th,
  html body .program-page .game-query-bulk-form .data-table td{display:table-cell!important}
  html body .program-page .game-query-actions{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:6px!important;
    width:100%!important;
    margin:0 0 6px!important;
    overflow:visible!important;
  }
  html body .program-page .game-query-actions .game-report-tabs{
    flex:1 1 auto!important;
    min-width:0!important;
    margin:0!important;
  }
  html body .program-page .game-query-actions .bulk-action-bar{
    flex:0 0 auto!important;
    margin-left:auto!important;
  }
}

/* Responsive management layout for tablet landscape, desktop, and phone. */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}
html body .site-head,
html body .club-nav,
html body main.page,
html body footer{
  max-width:100vw;
}
html body main.page,
html body .page.wide{
  min-width:0;
}

/* Touch tablets in landscape need the compact header as well as the compact club menu. */
@media (min-width:981px) and (max-width:1180px),
       (orientation:landscape) and (pointer:coarse) and (min-width:981px) and (max-width:1366px){
  html body .site-head{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,max-content) 30px;
    grid-template-rows:52px;
    height:52px;
    min-height:52px;
    padding:0 8px;
    gap:0 5px;
    align-items:center;
    flex-wrap:nowrap;
  }
  html body .site-head>.brand{
    grid-column:1;
    grid-row:1;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.96rem;
  }
  html body .site-head>.account{
    grid-column:2;
    grid-row:1;
    width:auto;
    min-width:0;
    max-width:100%;
    margin:0;
    padding:0;
    gap:3px;
    justify-content:flex-end;
    font-size:.74rem;
    overflow:hidden;
  }
  html body .site-head>.nav-toggle{
    display:block;
    grid-column:3;
    grid-row:1;
    margin:0;
    padding:2px;
    font-size:1.25rem;
  }
  html body .site-head>.top-nav{
    display:none;
    position:absolute;
    left:0;
    right:0;
    top:52px;
    height:auto;
    background:var(--navy);
    flex-direction:column;
  }
  html body .site-head>.top-nav.open{display:flex}
  html body .site-head .account-identity{
    max-width:104px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  html body .site-head .account .mode,
  html body .site-head .account .link-btn{
    min-height:25px;
    padding:2px 4px;
    line-height:1;
    font-size:.72rem;
  }
  html body .club-nav{
    top:52px;
    height:38px;
    justify-content:center;
    overflow:visible;
    padding:0 8px;
  }
  html body .club-nav-links{display:none}
  html body .club-nav-mobile{
    display:grid;
    grid-template-columns:40px minmax(150px,260px) 40px;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:100%;
    height:100%;
  }
  html body .club-nav-arrow{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    min-width:40px;
    height:32px!important;
    padding:0!important;
    border:0;
    border-radius:999px;
    background:transparent!important;
    color:#244f78!important;
    font-size:1.45rem!important;
    font-weight:900!important;
    line-height:1;
    text-decoration:none;
  }
  html body .club-nav-arrow:active{background:#dce9f8!important}
  html body .club-nav-selector{display:block;min-width:0;height:32px}
  html body .club-nav-selector select{
    width:100%;
    height:32px;
    min-height:32px;
    font-size:.9rem;
  }
  html body .page,
  html body .page.wide{
    width:98vw;
    max-width:98vw;
    margin-top:8px;
  }

  /* Let long management rows wrap inside their panel instead of widening the page. */
  html body .program-page .form-bar.game-entry-grid,
  html body .program-page .filter-bar.game-query-toolbar,
  html body .program-page .filter-bar.game-report-filter,
  html body .program-page .filter-bar.ranking-toolbar,
  html body .program-page .filter-bar.ranking-report-filter,
  html body .program-page .form-bar.ledger-entry-grid,
  html body .program-page .filter-bar.ledger-query-toolbar,
  html body .program-page .filter-bar.settlement-filter,
  html body .program-page .form-bar.fee-entry-grid,
  html body .program-page .filter-bar.fee-filter-bar,
  html body .program-page .filter-bar.fee-report-filter,
  html body .program-page .filter-bar.quarter-toolbar,
  html body .program-page .quarter-filter-form,
  html body .program-page .filter-bar.quarter-report-filter,
  html body .program-page .fit-fixed-field-row{
    display:flex!important;
    flex-flow:row wrap!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    gap:6px!important;
  }
  html body .program-page .form-bar.game-entry-grid>.field,
  html body .program-page .form-bar.ledger-entry-grid>.field,
  html body .program-page .filter-bar.game-query-toolbar>.field,
  html body .program-page .filter-bar.ledger-query-toolbar>.field,
  html body .program-page .filter-bar.settlement-filter>.field,
  html body .program-page .filter-bar.fee-filter-bar>.field,
  html body .program-page .filter-bar.fee-report-filter>.field,
  html body .program-page .filter-bar.quarter-toolbar>.field,
  html body .program-page .quarter-filter-form>.field{
    flex:1 1 108px!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    grid-column:auto!important;
  }
  html body .program-page .form-bar.game-entry-grid>.game-note-field,
  html body .program-page .form-bar.ledger-entry-grid>.ledger-note-field{
    flex-basis:220px!important;
  }
  html body .program-page .form-bar.game-entry-grid>.form-actions,
  html body .program-page .form-bar.ledger-entry-grid>.form-actions,
  html body .program-page .form-bar.fee-entry-grid>.form-actions,
  html body .program-page .filter-bar>button.btn,
  html body .program-page .filter-bar>a.btn{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:max-content!important;
    grid-column:auto!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
    flex-wrap:wrap!important;
    overflow:visible!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-phone-row-break{display:none!important}
  html body .program-page .form-bar.game-entry-grid input,
  html body .program-page .form-bar.game-entry-grid select,
  html body .program-page .form-bar.ledger-entry-grid input,
  html body .program-page .form-bar.ledger-entry-grid select,
  html body .program-page .filter-bar.game-query-toolbar input,
  html body .program-page .filter-bar.game-query-toolbar select,
  html body .program-page .filter-bar.ledger-query-toolbar input,
  html body .program-page .filter-bar.ledger-query-toolbar select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html body .program-page .game-query-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:space-between!important;
    width:100%!important;
    overflow:visible!important;
  }
  html body .program-page .game-query-actions .game-report-tabs{flex:1 1 260px!important;min-width:0!important}
  html body .program-page .game-query-actions .bulk-action-bar{flex:0 0 auto!important;margin-left:auto!important}
  html body .program-page .game-query-bulk-form>.table-wrap,
  html body .program-page .game-query-bulk-form .table-wrap.sticky-grid,
  html body .program-page .game-query-bulk-form .table-wrap.fit-viewport-grid{
    width:100%!important;
    max-width:100%!important;
    overflow:auto!important;
  }
}

/* Phones use a two-column control grid and keep tables scrollable inside their own frame. */
@media(max-width:620px){
  html body .page,
  html body .page.wide,
  html body .page.program-page{
    width:100%!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:0!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
  html body .program-page .filter-bar.game-query-toolbar,
  html body .program-page .filter-bar.game-report-filter,
  html body .program-page .filter-bar.ranking-toolbar,
  html body .program-page .filter-bar.ranking-report-filter,
  html body .program-page .filter-bar.ledger-query-toolbar,
  html body .program-page .filter-bar.settlement-filter,
  html body .program-page .filter-bar.fee-filter-bar,
  html body .program-page .filter-bar.fee-report-filter,
  html body .program-page .filter-bar.quarter-toolbar,
  html body .program-page .quarter-filter-form,
  html body .program-page .filter-bar.quarter-report-filter{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    gap:5px!important;
    padding:6px!important;
  }
  html body .program-page .filter-bar.game-query-toolbar>.field,
  html body .program-page .filter-bar.game-report-filter>.field,
  html body .program-page .filter-bar.ranking-toolbar>.field,
  html body .program-page .filter-bar.ranking-report-filter>.field,
  html body .program-page .filter-bar.ledger-query-toolbar>.field,
  html body .program-page .filter-bar.settlement-filter>.field,
  html body .program-page .filter-bar.fee-filter-bar>.field,
  html body .program-page .filter-bar.fee-report-filter>.field,
  html body .program-page .filter-bar.quarter-toolbar>.field,
  html body .program-page .quarter-filter-form>.field{
    grid-column:span 1!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
  }
  html body .program-page .game-query-toolbar>.game-query-mode-filter,
  html body .program-page .game-query-toolbar>.game-query-member-filter,
  html body .program-page .ledger-query-toolbar>.ledger-note-field{
    grid-column:1/-1!important;
  }
  html body .program-page .filter-bar>button.btn,
  html body .program-page .filter-bar>a.btn,
  html body .program-page .filter-bar .form-actions{
    grid-column:auto!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:max-content!important;
    justify-self:start!important;
  }
  html body .program-page .filter-bar.game-query-toolbar input,
  html body .program-page .filter-bar.game-query-toolbar select,
  html body .program-page .filter-bar.ledger-query-toolbar input,
  html body .program-page .filter-bar.ledger-query-toolbar select,
  html body .program-page .filter-bar.fee-filter-bar input,
  html body .program-page .filter-bar.fee-filter-bar select,
  html body .program-page .filter-bar.quarter-toolbar input,
  html body .program-page .filter-bar.quarter-toolbar select{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html body .program-page .game-query-actions{
    display:flex!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:5px!important;
    width:100%!important;
  }
  html body .program-page .game-query-actions .game-report-tabs{flex:1 1 100%!important;min-width:0!important;order:1!important}
  html body .program-page .game-query-actions .bulk-action-bar{flex:0 0 auto!important;margin:0!important;order:2!important}
  html body .program-page .game-query-bulk-form>.table-wrap,
  html body .program-page .game-query-bulk-form .table-wrap.sticky-grid,
  html body .program-page .game-query-bulk-form .table-wrap.fit-viewport-grid,
  html body .program-page .table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow:auto!important;
    -webkit-overflow-scrolling:touch;
  }
  html body .program-page .game-query-bulk-form .data-table{min-width:max-content!important}
}

/* One responsive contract for every management-program viewport. */
html body .program-page,
html body .program-page .panel,
html body .program-page .table-wrap,
html body .program-page .game-query-bulk-form{
  min-width:0!important;
  max-width:100%!important;
}
html body .program-page :is(
  .game-entry-grid,.game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
  .ledger-entry-grid,.ledger-query-toolbar,.settlement-filter,.fee-entry-grid,.fee-filter-bar,
  .fee-report-filter,.quarter-toolbar,.quarter-filter-form,.quarter-report-filter
){
  min-width:0!important;
  max-width:100%!important;
}
html body .program-page :is(
  .game-entry-grid,.game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
  .ledger-entry-grid,.ledger-query-toolbar,.settlement-filter,.fee-entry-grid,.fee-filter-bar,
  .fee-report-filter,.quarter-toolbar,.quarter-filter-form,.quarter-report-filter
)> .field,
html body .program-page :is(
  .game-entry-grid,.game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
  .ledger-entry-grid,.ledger-query-toolbar,.settlement-filter,.fee-entry-grid,.fee-filter-bar,
  .fee-report-filter,.quarter-toolbar,.quarter-filter-form,.quarter-report-filter
)> .form-actions{
  min-width:0!important;
  max-width:100%!important;
}
html body .program-page :is(
  .game-entry-grid,.game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
  .ledger-entry-grid,.ledger-query-toolbar,.settlement-filter,.fee-entry-grid,.fee-filter-bar,
  .fee-report-filter,.quarter-toolbar,.quarter-filter-form,.quarter-report-filter
)> .field > input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
html body .program-page :is(
  .game-entry-grid,.game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
  .ledger-entry-grid,.ledger-query-toolbar,.settlement-filter,.fee-entry-grid,.fee-filter-bar,
  .fee-report-filter,.quarter-toolbar,.quarter-filter-form,.quarter-report-filter
)> .field > select,
html body .program-page :is(
  .game-entry-grid,.game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
  .ledger-entry-grid,.ledger-query-toolbar,.settlement-filter,.fee-entry-grid,.fee-filter-bar,
  .fee-report-filter,.quarter-toolbar,.quarter-filter-form,.quarter-report-filter
)> .field > .date-input-shell{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
}

/* Requested action icons stay icon-only and borderless at every screen width. */
html body .program-page .mobile-icon-action.borderless-icon-action,
html body .program-page .mobile-icon-action.field-icon-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-width:34px!important;
  min-height:32px!important;
  padding:3px 5px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0b2d59!important;
  font-size:0!important;
  line-height:1!important;
}
html body .program-page .mobile-icon-action>.mobile-action-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:1.1rem!important;
  line-height:1!important;
}
html body .program-page .mobile-icon-action .action-icon{
  display:block!important;
  width:1.72rem!important;
  height:1.72rem!important;
}

/* Desktop: use the available wide grid rather than a hidden horizontal row. */
@media(min-width:1181px){
  html body .program-page :is(
    .game-entry-grid,.game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-entry-grid,.ledger-query-toolbar,.settlement-filter,.fee-entry-grid,.fee-filter-bar,
    .fee-report-filter,.quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  ){
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:end!important;
    gap:7px!important;
    overflow:visible!important;
    width:100%!important;
  }
  html body .program-page :is(
    .game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-query-toolbar,.settlement-filter,.fee-filter-bar,.fee-report-filter,
    .quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  )> .field{grid-column:span 2!important;flex:none!important;width:auto!important}
  html body .program-page :is(
    .game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-query-toolbar,.settlement-filter,.fee-filter-bar,.fee-report-filter,
    .quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  )> .form-actions,
  html body .program-page :is(
    .game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-query-toolbar,.settlement-filter,.fee-filter-bar,.fee-report-filter,
    .quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  )> .btn,
  html body .program-page :is(
    .game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-query-toolbar,.settlement-filter,.fee-filter-bar,.fee-report-filter,
    .quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  )> a.btn{grid-column:span 2!important;flex:none!important;width:auto!important;min-width:0!important;max-width:none!important}

  html body .program-page .form-bar.game-entry-grid{grid-template-columns:repeat(16,minmax(0,1fr))!important}
  html body .program-page .game-entry-grid>.field{grid-column:span 1!important;flex:none!important;width:auto!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(1),
  html body .program-page .game-entry-grid>.field:nth-of-type(2){grid-column:span 2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(3){grid-column:span 3!important}
  html body .program-page .game-entry-grid>.game-note-field{grid-column:span 3!important}
  html body .program-page .game-entry-grid>.form-actions{grid-column:span 2!important;min-width:0!important;max-width:none!important}

  html body .program-page .form-bar.ledger-entry-grid{grid-template-columns:repeat(12,minmax(0,1fr))!important}
  html body .program-page .ledger-entry-grid>.field{grid-column:span 2!important;flex:none!important;width:auto!important}
  html body .program-page .ledger-entry-grid>.ledger-note-field{grid-column:span 3!important}
  html body .program-page .ledger-entry-grid>.ledger-actions{grid-column:span 1!important;min-width:0!important;max-width:none!important}

  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    width:100%!important;
    overflow:visible!important;
    gap:7px!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.field{
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    grid-column:span 2!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-phone-field{grid-column:span 3!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions{grid-column:span 2!important;min-width:0!important;max-width:none!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-phone-row-break{display:none!important}
}

/* Phone controls use their real content width so result tables receive the remaining viewport. */
@media(max-width:620px){
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:flex-end!important;
    align-content:flex-start!important;
    gap:3px!important;
    width:100%!important;
    overflow:visible!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.field{
    display:flex!important;
    grid-column:auto!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions{
    display:flex!important;
    flex:0 0 auto!important;
    grid-column:auto!important;
    gap:3px!important;
    margin:0!important;
    width:auto!important;
    min-width:0!important;
  }
  html body .program-page .member-editor-panel .member-primary-actions :is(.btn,.mini){
    min-width:32px!important;
    min-height:30px!important;
    padding:2px 4px!important;
  }

  html body .program-page .filter-bar.game-query-toolbar{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
  }
  html body .program-page .game-query-toolbar>.game-query-mode-filter{grid-column:span 3!important}
  html body .program-page .game-query-toolbar>.game-query-year-filter{grid-column:span 1!important}
  html body .program-page .game-query-toolbar>.game-query-week-filter{grid-column:span 2!important}
  html body .program-page .game-query-toolbar>.game-query-member-filter{grid-column:span 5!important}
  html body .program-page .game-query-toolbar>.action-icon-button-query{
    grid-column:span 1!important;
    justify-self:end!important;
    align-self:end!important;
  }

  html body .program-page .filter-bar.ranking-toolbar{
    grid-template-columns:minmax(70px,1fr) 34px 34px!important;
  }
  html body .program-page .ranking-toolbar>.ranking-year-filter{grid-column:span 1!important}
  html body .program-page .ranking-toolbar>.action-icon-button{grid-column:span 1!important;justify-self:end!important}

  html body .program-page .filter-bar.ledger-query-toolbar:not(.settlement-filter){
    grid-template-columns:72px 78px 34px max-content max-content!important;
    gap:3px!important;
  }
  html body .program-page .ledger-query-toolbar:not(.settlement-filter)>.ledger-year-filter,
  html body .program-page .ledger-query-toolbar:not(.settlement-filter)>.ledger-month-filter{grid-column:span 1!important}
  html body .program-page .ledger-query-toolbar:not(.settlement-filter)>.action-icon-button-query{grid-column:span 1!important;justify-self:center!important}
  html body .program-page .ledger-query-toolbar:not(.settlement-filter)> :is(.ledger-monthly-link,.ledger-annual-link){
    grid-column:span 1!important;
    min-width:max-content!important;
    padding-inline:5px!important;
  }

  html body .program-page .form-bar.ledger-entry-grid{
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:4px!important;
  }
  html body .program-page .ledger-entry-grid>.field:nth-of-type(1){grid-column:span 2!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(2){grid-column:span 1!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(3){grid-column:span 2!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(4){grid-column:span 1!important}
  html body .program-page .ledger-entry-grid>.ledger-note-field{grid-column:span 5!important}
  html body .program-page .ledger-entry-grid>.ledger-actions{grid-column:span 1!important}

  html body .program-page .filter-bar.fee-filter-bar{
    grid-template-columns:72px max-content 34px!important;
    gap:4px!important;
  }
  html body .program-page .fee-filter-bar>.fee-year-filter{grid-column:span 1!important}
  html body .program-page .fee-filter-bar> :is(.btn,.action-icon-button){grid-column:span 1!important;justify-self:end!important}

  html body .program-page .filter-bar.quarter-toolbar{
    grid-template-columns:72px 78px 34px 34px 34px!important;
    gap:3px!important;
  }
  html body .program-page .quarter-toolbar> :is(.quarter-year-filter,.quarter-select-filter,.btn,.action-icon-button){
    grid-column:span 1!important;
    min-width:0!important;
  }
  html body .program-page .quarter-toolbar>.action-icon-button{justify-self:center!important}
}

/* Tablet portrait and landscape: preserve all fields by using a two-line 8-column grid. */
@media(min-width:621px) and (max-width:1180px){
  html body .program-page :is(
    .game-entry-grid,.game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-entry-grid,.ledger-query-toolbar,.settlement-filter,.fee-entry-grid,.fee-filter-bar,
    .fee-report-filter,.quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  ){
    display:grid!important;
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:end!important;
    gap:6px!important;
    overflow:visible!important;
    width:100%!important;
  }
  html body .program-page :is(
    .game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-query-toolbar,.settlement-filter,.fee-filter-bar,.fee-report-filter,
    .quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  )> .field{grid-column:span 2!important;flex:none!important;width:auto!important}
  html body .program-page :is(
    .game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-query-toolbar,.settlement-filter,.fee-filter-bar,.fee-report-filter,
    .quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  )> .form-actions,
  html body .program-page :is(
    .game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-query-toolbar,.settlement-filter,.fee-filter-bar,.fee-report-filter,
    .quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  )> .btn,
  html body .program-page :is(
    .game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-query-toolbar,.settlement-filter,.fee-filter-bar,.fee-report-filter,
    .quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  )> a.btn{grid-column:span 2!important;flex:none!important;width:auto!important;min-width:0!important;max-width:none!important}

  html body .program-page .game-query-toolbar>.game-query-mode-filter{grid-column:span 2!important}
  html body .program-page .game-query-toolbar>.game-query-year-filter{grid-column:span 1!important}
  html body .program-page .game-query-toolbar>.game-query-week-filter{grid-column:span 2!important}
  html body .program-page .game-query-toolbar>.game-query-member-filter{grid-column:span 2!important}
  html body .program-page .game-query-toolbar>.btn{grid-column:span 1!important}

  html body .program-page .game-entry-grid>.field{grid-column:span 1!important;flex:none!important;width:auto!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(1),
  html body .program-page .game-entry-grid>.field:nth-of-type(2){grid-column:span 2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(3){grid-column:span 4!important}
  html body .program-page .game-entry-grid>.game-note-field{grid-column:span 5!important}
  html body .program-page .game-entry-grid>.form-actions{grid-column:span 3!important;min-width:0!important;max-width:none!important}

  html body .program-page .ledger-entry-grid>.field{grid-column:span 2!important;flex:none!important;width:auto!important}
  html body .program-page .ledger-entry-grid>.ledger-note-field{grid-column:span 5!important}
  html body .program-page .ledger-entry-grid>.ledger-actions{grid-column:span 3!important;min-width:0!important;max-width:none!important}

  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
    display:grid!important;
    grid-template-columns:repeat(8,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    width:100%!important;
    overflow:visible!important;
    gap:6px!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.field{
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    grid-column:span 2!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-phone-field{grid-column:span 3!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions{grid-column:span 3!important;min-width:0!important;max-width:none!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-phone-row-break{display:none!important}
}

/* Phone: compact four-column entry forms and two-column general filters. */
@media(max-width:620px){
  html body .program-page :is(
    .game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-query-toolbar,.settlement-filter,.fee-filter-bar,.fee-report-filter,
    .quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  ){
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:end!important;
    gap:5px!important;
    overflow:visible!important;
    width:100%!important;
  }
  html body .program-page :is(
    .game-query-toolbar,.game-report-filter,.ranking-toolbar,.ranking-report-filter,
    .ledger-query-toolbar,.settlement-filter,.fee-filter-bar,.fee-report-filter,
    .quarter-toolbar,.quarter-filter-form,.quarter-report-filter
  )> .field{grid-column:span 1!important;flex:none!important;width:auto!important}
  html body .program-page .game-query-toolbar>.game-query-mode-filter,
  html body .program-page .game-query-toolbar>.game-query-member-filter{grid-column:1/-1!important}

  html body .program-page .form-bar.game-entry-grid,
  html body .program-page .form-bar.ledger-entry-grid,
  html body .program-page .form-bar.fee-entry-grid{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:end!important;
    gap:5px!important;
    overflow:visible!important;
    width:100%!important;
  }
  html body .program-page .game-entry-grid>.field,
  html body .program-page .ledger-entry-grid>.field,
  html body .program-page .fee-entry-grid>.field{grid-column:span 1!important;flex:none!important;width:auto!important;min-width:0!important;max-width:none!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(3){grid-column:span 2!important}
  html body .program-page .game-entry-grid>.game-note-field{grid-column:span 3!important}
  html body .program-page .game-entry-grid>.form-actions{grid-column:span 1!important;min-width:0!important;max-width:none!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(1),
  html body .program-page .ledger-entry-grid>.field:nth-of-type(3){grid-column:span 2!important}
  html body .program-page .ledger-entry-grid>.ledger-note-field{grid-column:span 3!important}
  html body .program-page .ledger-entry-grid>.ledger-actions{grid-column:span 1!important;min-width:0!important;max-width:none!important}
  html body .program-page .fee-entry-grid>.field:nth-of-type(3){grid-column:span 2!important}
  html body .program-page .fee-entry-grid>.form-actions{grid-column:span 2!important;min-width:0!important;max-width:none!important}

  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
    display:grid!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    width:100%!important;
    overflow:visible!important;
    gap:5px!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.field{
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    grid-column:span 2!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-grade-field,
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-average-field{grid-column:span 1!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions{grid-column:1/-1!important;min-width:0!important;max-width:none!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-phone-row-break{display:none!important}
}

/* 7.1.48: final mobile icon-only controls and compact management layout. */
html body .program-page .action-icon-button-label,
html body .program-page .mobile-icon-text{
  display:none!important;
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  min-width:1px!important;
  min-height:1px!important;
  max-width:1px!important;
  max-height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
html body .program-page [data-action-icon-button],
html body .program-page .mobile-icon-action.borderless-icon-action,
html body .program-page .mobile-icon-action.field-icon-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  padding:2px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#0b2d59!important;
  font-size:0!important;
  line-height:1!important;
  overflow:hidden!important;
  gap:0!important;
  text-decoration:none!important;
  text-indent:0!important;
}
html body .program-page [data-action-icon-button] .action-icon,
html body .program-page .mobile-icon-action .action-icon{
  display:block!important;
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  max-width:28px!important;
  max-height:28px!important;
  font-size:0!important;
  line-height:1!important;
  text-indent:0!important;
}
html body .program-page .mobile-icon-action>.mobile-action-icon{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 28px!important;
  width:28px!important;
  height:28px!important;
  font-size:0!important;
  line-height:1!important;
  text-indent:0!important;
}
html body .program-page :is(.ledger-monthly-link,.ledger-annual-link){
  font-size:.78rem!important;
  line-height:1.05!important;
}

@media(max-width:620px){
  html body .site-head{
    display:grid!important;
    grid-template-columns:minmax(78px,1fr) minmax(0,max-content) 28px!important;
    grid-template-rows:46px!important;
    height:46px!important;
    min-height:46px!important;
    padding:0 6px!important;
    gap:0 4px!important;
    align-items:center!important;
  }
  html body .site-head>.brand{
    min-width:0!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:.9rem!important;
    line-height:1!important;
  }
  html body .site-head>.account{
    grid-column:2!important;
    width:auto!important;
    max-width:178px!important;
    padding:0!important;
    margin:0!important;
    gap:2px!important;
    font-size:.68rem!important;
    line-height:1!important;
  }
  html body .site-head .account-role{display:none!important}
  html body .site-head .account-identity{max-width:72px!important}
  html body .site-head .account .mode,
  html body .site-head .account .link-btn{min-height:22px!important;padding:1px 4px!important;font-size:.68rem!important}
  html body .site-head>.nav-toggle{grid-column:3!important;width:28px!important;height:28px!important;min-height:28px!important;padding:0!important}
  html body .site-head>.top-nav{top:46px!important;max-height:calc(100dvh - 46px)!important;overflow:auto!important}
  html body .site-head>.top-nav.open a{min-height:34px!important;padding:0 12px!important}

  html body .club-nav{
    top:46px!important;
    height:32px!important;
    min-height:32px!important;
    padding:2px 4px!important;
    overflow:hidden!important;
  }
  html body .club-nav-links{display:none!important}
  html body .club-nav-mobile{
    display:grid!important;
    grid-template-columns:30px minmax(0,1fr) 30px!important;
    align-items:center!important;
    gap:3px!important;
    width:100%!important;
  }
  html body .club-nav-arrow{
    min-width:30px!important;
    width:30px!important;
    min-height:28px!important;
    height:28px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#173b68!important;
    font-size:1.35rem!important;
    line-height:1!important;
  }
  html body .club-nav-selector{height:28px!important}
  html body .club-nav-selector select{
    min-height:28px!important;
    height:28px!important;
    padding:2px 24px 2px 8px!important;
    font-size:.78rem!important;
    line-height:1!important;
  }

  html body .page,
  html body .page.wide,
  html body .page.program-page{
    width:100vw!important;
    max-width:100vw!important;
    margin:3px 0 12px!important;
    padding:0 3px!important;
  }
  html body .program-page .page-title{
    min-height:0!important;
    margin:0 0 3px!important;
    gap:3px!important;
  }
  html body .program-page .page-title h1{font-size:.82rem!important;line-height:1!important}
  html body .program-page .page-title p{display:none!important}
  html body .program-page .panel{
    padding:5px 6px!important;
    margin-bottom:5px!important;
    border-radius:5px!important;
    box-shadow:none!important;
  }
  html body .program-page .field{gap:1px!important}
  html body .program-page .field>span{font-size:.68rem!important;line-height:1!important}
  html body .program-page input,
  html body .program-page select,
  html body .program-page textarea{min-height:30px!important;padding:2px 5px!important;line-height:1.05!important}
  html body .program-page .date-input-shell{grid-template-columns:minmax(0,1fr) 28px!important;min-width:0!important}
  html body .program-page .date-picker-button{min-height:30px!important}
  html body .program-page .form-bar,
  html body .program-page .filter-bar{gap:3px!important}

  html body .program-page [data-action-icon-button],
  html body .program-page .mobile-icon-action.borderless-icon-action,
  html body .program-page .mobile-icon-action.field-icon-action{
    flex-basis:30px!important;
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:1px!important;
  }
  html body .program-page [data-action-icon-button] .action-icon,
  html body .program-page .mobile-icon-action .action-icon,
  html body .program-page .mobile-icon-action>.mobile-action-icon{
    flex-basis:26px!important;
    width:26px!important;
    height:26px!important;
    max-width:26px!important;
    max-height:26px!important;
  }

  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
    display:flex!important;
    flex-flow:row wrap!important;
    justify-content:flex-start!important;
    align-items:flex-end!important;
    align-content:flex-start!important;
    gap:2px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
    grid-template-columns:none!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.field{
    display:grid!important;
    grid-template-columns:1fr!important;
    flex-grow:0!important;
    flex-shrink:0!important;
    flex-basis:var(--fit-field-width,72px)!important;
    width:var(--fit-field-width,72px)!important;
    min-width:var(--fit-field-width,72px)!important;
    max-width:var(--fit-field-width,72px)!important;
    grid-column:auto!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-name-field{--fit-field-width:72px!important;--fit-control-width:72px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-phone-field{--fit-field-width:112px!important;--fit-control-width:112px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-grade-field{--fit-field-width:66px!important;--fit-control-width:66px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-join-field{--fit-field-width:84px!important;--fit-control-width:84px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-average-field{--fit-field-width:64px!important;--fit-control-width:64px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    gap:2px!important;
    grid-column:auto!important;
  }

  html body .program-page .form-bar.game-entry-grid,
  html body .program-page .form-bar.game-entry-grid.fit-fixed-field-row{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    grid-auto-flow:row!important;
    align-items:end!important;
    gap:3px!important;
    width:100%!important;
    overflow:visible!important;
  }
  html body .program-page .game-entry-grid>.field{grid-column:auto!important;grid-row:auto!important;width:auto!important;min-width:0!important;max-width:none!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(1){grid-column:span 2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(2){grid-column:span 2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(3){grid-column:span 2!important}
  html body .program-page .game-entry-grid>.field:nth-of-type(4),
  html body .program-page .game-entry-grid>.field:nth-of-type(5),
  html body .program-page .game-entry-grid>.field:nth-of-type(6),
  html body .program-page .game-entry-grid>.field:nth-of-type(7){grid-column:span 1!important}
  html body .program-page .game-entry-grid>.game-note-field{grid-column:span 1!important;grid-row:auto!important}
  html body .program-page .game-entry-grid>.form-actions{
    grid-column:span 1!important;
    grid-row:auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:30px!important;
    justify-content:flex-start!important;
  }

  html body .program-page .filter-bar.game-query-toolbar{
    display:grid!important;
    grid-template-columns:repeat(5,minmax(0,1fr))!important;
    gap:3px!important;
    padding:5px 6px!important;
  }
  html body .program-page .game-query-toolbar>.game-query-mode-filter{grid-column:span 2!important}
  html body .program-page .game-query-toolbar>.game-query-year-filter{grid-column:span 1!important}
  html body .program-page .game-query-toolbar>.game-query-week-filter{grid-column:span 2!important}
  html body .program-page .game-query-toolbar>.game-query-member-filter{grid-column:span 4!important}
  html body .program-page .game-query-toolbar>.action-icon-button-query{grid-column:span 1!important;justify-self:start!important}

  html body .program-page .filter-bar.ranking-toolbar{
    display:grid!important;
    grid-template-columns:minmax(62px,1fr) 30px 30px!important;
    gap:3px!important;
    padding:5px 6px!important;
  }
  html body .program-page .ranking-toolbar>.ranking-year-filter{grid-column:span 1!important}
  html body .program-page .ranking-toolbar>.action-icon-button{grid-column:span 1!important;justify-self:start!important}

  html body .program-page .form-bar.ledger-entry-grid,
  html body .program-page .form-bar.ledger-entry-grid.fit-fixed-field-row{
    display:grid!important;
    grid-template-columns:repeat(6,minmax(0,1fr))!important;
    gap:3px!important;
  }
  html body .program-page .ledger-entry-grid>.field{grid-column:auto!important;grid-row:auto!important;width:auto!important;min-width:0!important;max-width:none!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(1){grid-column:span 2!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(2){grid-column:span 1!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(3){grid-column:span 2!important}
  html body .program-page .ledger-entry-grid>.field:nth-of-type(4){grid-column:span 1!important}
  html body .program-page .ledger-entry-grid>.ledger-note-field{grid-column:span 5!important;grid-row:auto!important}
  html body .program-page .ledger-entry-grid>.ledger-actions{grid-column:span 1!important;grid-row:auto!important;width:auto!important;min-width:0!important;max-width:30px!important}

  html body .program-page .filter-bar.ledger-query-toolbar:not(.settlement-filter){
    display:grid!important;
    grid-template-columns:62px 66px 30px max-content max-content!important;
    gap:3px!important;
    padding:5px 6px!important;
    overflow:hidden!important;
  }
  html body .program-page .ledger-query-toolbar:not(.settlement-filter)>.ledger-year-filter,
  html body .program-page .ledger-query-toolbar:not(.settlement-filter)>.ledger-month-filter,
  html body .program-page .ledger-query-toolbar:not(.settlement-filter)>.action-icon-button-query,
  html body .program-page .ledger-query-toolbar:not(.settlement-filter)> :is(.ledger-monthly-link,.ledger-annual-link){
    grid-column:auto!important;
    justify-self:start!important;
    min-width:0!important;
  }
  html body .program-page .ledger-query-toolbar:not(.settlement-filter)> :is(.ledger-monthly-link,.ledger-annual-link){
    min-height:30px!important;
    padding:2px 5px!important;
    font-size:.72rem!important;
  }

  html body .program-page .filter-bar.fee-filter-bar{
    display:grid!important;
    grid-template-columns:62px 30px 30px!important;
    gap:3px!important;
    padding:5px 6px!important;
    justify-content:start!important;
  }
  html body .program-page .fee-filter-bar>.fee-year-filter,
  html body .program-page .fee-filter-bar> :is(.btn,.action-icon-button){grid-column:auto!important;justify-self:start!important}

  html body .program-page .filter-bar.quarter-toolbar{
    display:grid!important;
    grid-template-columns:62px 70px 30px 30px 30px!important;
    gap:3px!important;
    padding:5px 6px!important;
    overflow:hidden!important;
  }
  html body .program-page .quarter-toolbar> :is(.quarter-year-filter,.quarter-select-filter,.btn,.action-icon-button){
    grid-column:auto!important;
    justify-self:start!important;
    min-width:0!important;
  }

  html body .program-page .filter-bar.fee-report-filter,
  html body .program-page .filter-bar.quarter-report-filter,
  html body .program-page .filter-bar.ranking-report-filter,
  html body .program-page .filter-bar.game-report-filter,
  html body .program-page .filter-bar.settlement-filter{
    gap:3px!important;
    padding:5px 6px!important;
  }
  html body .program-page .report-toolbar{
    gap:3px!important;
    margin-bottom:5px!important;
  }
  html body .program-page .input-result-panel{margin-top:5px!important}
  html body .program-page .input-result-head{padding:4px 6px!important}
  html body .program-page .input-result-head h2{font-size:.78rem!important;line-height:1!important}
  html body .program-page .input-result-head p{font-size:.62rem!important;line-height:1!important}
  html body .program-page .summary{gap:3px!important;margin:5px 0!important}
  html body .program-page .summary-card{padding:5px 6px!important}
  html body .program-page .table-wrap.sticky-grid,
  html body .program-page .table-wrap.fit-viewport-grid{
    max-height:calc(100dvh - 150px)!important;
    min-height:220px!important;
  }
  html body footer{padding:8px 0 10px!important;font-size:.66rem!important}
}

/* 7.1.48: phone form alignment and compact report controls. */
html body .program-page :is(.ledger-monthly-link,.ledger-annual-link){
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  white-space:nowrap!important;
}

@media(max-width:620px){
  html body .program-page .fee-report-inline-tools{
    display:grid!important;
    grid-template-columns:62px 30px 30px minmax(66px,max-content)!important;
    align-items:end!important;
    gap:3px!important;
    padding:5px 6px!important;
    justify-content:start!important;
    overflow:hidden!important;
  }
  html body .program-page .fee-report-inline-tools>.fee-report-year-filter,
  html body .program-page .fee-report-inline-tools>.action-icon-button,
  html body .program-page .fee-report-inline-tools>.fee-report-capture{
    grid-column:auto!important;
    align-self:end!important;
    justify-self:start!important;
    min-width:0!important;
  }
  html body .program-page .fee-report-inline-tools>.fee-report-capture{
    min-height:30px!important;
    height:30px!important;
    padding:2px 6px!important;
    font-size:.68rem!important;
    line-height:1!important;
  }

  html body .program-page .filter-bar.quarter-toolbar{
    display:grid!important;
    grid-template-columns:62px 70px 30px 30px 30px!important;
    align-items:end!important;
    gap:3px!important;
    padding:5px 6px!important;
    justify-content:start!important;
    overflow:hidden!important;
  }
  html body .program-page .quarter-toolbar> :is(.quarter-year-filter,.quarter-select-filter,.btn,.action-icon-button){
    grid-column:auto!important;
    align-self:end!important;
    justify-self:start!important;
    width:auto!important;
    min-width:0!important;
  }
  html body .program-page .quarter-toolbar>.field>span{line-height:1!important}
  html body .program-page .quarter-toolbar :is(input,select){height:30px!important;min-height:30px!important}

  html body .program-page .filter-bar.quarter-report-filter{
    display:grid!important;
    grid-template-columns:62px 70px 30px!important;
    align-items:end!important;
    gap:3px!important;
    padding:5px 6px!important;
    justify-content:start!important;
    overflow:hidden!important;
  }
  html body .program-page .quarter-report-filter> :is(.quarter-report-year-filter,.quarter-report-quarter-filter,.btn,.action-icon-button){
    grid-column:auto!important;
    align-self:end!important;
    justify-self:start!important;
    min-width:0!important;
  }

  html body .program-page .ledger-query-toolbar:not(.settlement-filter)> :is(.ledger-monthly-link,.ledger-annual-link){
    align-self:end!important;
    min-height:30px!important;
    height:30px!important;
    padding:0 6px!important;
    line-height:1!important;
  }

  html body .program-page .ledger-category-form{
    display:grid!important;
    grid-template-columns:58px minmax(96px,1fr) 48px max-content!important;
    align-items:end!important;
    gap:3px!important;
    padding:5px 6px!important;
    justify-content:start!important;
    overflow:hidden!important;
  }
  html body .program-page .ledger-category-form>.ledger-category-type,
  html body .program-page .ledger-category-form>.ledger-category-name,
  html body .program-page .ledger-category-form>.ledger-category-order,
  html body .program-page .ledger-category-form>.ledger-category-actions{
    grid-column:auto!important;
    align-self:end!important;
    justify-self:start!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
  }
  html body .program-page .ledger-category-form>.ledger-category-name{min-width:96px!important}
  html body .program-page .ledger-category-form>.ledger-category-actions .btn{
    min-height:30px!important;
    height:30px!important;
    padding:2px 7px!important;
    font-size:.68rem!important;
    line-height:1!important;
  }

  html body .program-page .form-bar.fee-entry-grid,
  html body .program-page .form-bar.fee-entry-grid.fit-fixed-field-row{
    display:grid!important;
    grid-template-columns:minmax(54px,.7fr) 74px minmax(72px,1fr) 58px 30px!important;
    grid-auto-flow:row!important;
    align-items:end!important;
    gap:3px!important;
    width:100%!important;
    overflow:hidden!important;
  }
  html body .program-page .fee-entry-grid>.field{
    flex:none!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
  html body .program-page .fee-entry-grid>.fee-equal-field{grid-column:1!important}
  html body .program-page .fee-entry-grid>.fee-date-field{grid-column:2!important}
  html body .program-page .fee-entry-grid>.field:nth-of-type(3){grid-column:3!important;order:0!important}
  html body .program-page .fee-entry-grid>.fee-monthly-field{grid-column:4!important}
  html body .program-page .fee-entry-grid>.fee-register-actions{
    grid-column:5!important;
    grid-row:auto!important;
    align-self:end!important;
    justify-self:start!important;
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
    flex:none!important;
    overflow:hidden!important;
  }
  html body .program-page .fee-entry-grid>.fee-register-actions>[data-action-icon-button],
  html body .program-page .fee-entry-grid>.fee-register-actions>.mobile-icon-action{
    width:30px!important;
    min-width:30px!important;
    max-width:30px!important;
  }
  html body .program-page .fee-entry-grid .fee-date-input-shell{
    grid-template-columns:minmax(0,1fr) 24px!important;
  }
  html body .program-page .fee-entry-grid .fee-date-input-shell .date-picker-button{
    width:24px!important;
    min-width:24px!important;
    padding:0!important;
  }
  html body .program-page .fee-entry-grid>.fee-monthly-field input{
    padding-inline:3px!important;
    font-size:.68rem!important;
    text-align:center!important;
  }
  html body .program-page .fee-entry-grid>.field:nth-of-type(3) input{
    padding-inline:4px!important;
  }

  html body .program-page .game-entry-grid>.form-actions>.game-entry-status{
    display:none!important;
  }
}

/* 7.1.48: report query rows keep query/previous/capture actions on one phone line. */
@media(max-width:620px){
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools){
    display:grid!important;
    grid-template-columns:62px 30px 30px minmax(62px,max-content)!important;
    align-items:end!important;
    gap:2px!important;
    padding:5px 5px!important;
    justify-content:start!important;
    overflow:hidden!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools)> :is(.field,.btn,.action-icon-button){
    grid-column:auto!important;
    align-self:end!important;
    justify-self:start!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools)> :is(.fee-report-capture,.ranking-report-capture){
    min-height:30px!important;
    height:30px!important;
    padding:1px 4px!important;
    font-size:.66rem!important;
    line-height:1!important;
  }

  html body .program-page .quarter-report-inline-tools{
    display:grid!important;
    grid-template-columns:58px 64px 30px 30px minmax(62px,max-content)!important;
    align-items:end!important;
    gap:2px!important;
    padding:5px 5px!important;
    justify-content:start!important;
    overflow:hidden!important;
  }
  html body .program-page .quarter-report-inline-tools> :is(.field,.btn,.action-icon-button){
    grid-column:auto!important;
    align-self:end!important;
    justify-self:start!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html body .program-page .quarter-report-inline-tools>.quarter-report-capture{
    min-height:30px!important;
    height:30px!important;
    padding:1px 4px!important;
    font-size:.66rem!important;
    line-height:1!important;
  }

  html body .program-page .ledger-query-toolbar.settlement-filter{
    display:grid!important;
    grid-template-columns:48px 48px 28px 38px 38px 28px minmax(58px,max-content)!important;
    align-items:end!important;
    gap:2px!important;
    padding:5px 4px!important;
    justify-content:start!important;
    overflow:hidden!important;
  }
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-spacer{
    display:none!important;
  }
  html body .program-page .ledger-query-toolbar.settlement-filter> :is(.ledger-year-filter,.ledger-month-filter,.btn,.action-icon-button,.ledger-monthly-link,.ledger-annual-link,.ledger-report-back,.ledger-report-capture){
    grid-column:auto!important;
    grid-row:auto!important;
    align-self:end!important;
    justify-self:start!important;
    min-width:0!important;
    max-width:100%!important;
  }
  html body .program-page .ledger-query-toolbar.settlement-filter> :is(.ledger-monthly-link,.ledger-annual-link){
    min-height:30px!important;
    height:30px!important;
    padding:0 2px!important;
    font-size:.62rem!important;
    line-height:1!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
  }
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-capture{
    min-height:30px!important;
    height:30px!important;
    padding:1px 3px!important;
    font-size:.62rem!important;
    line-height:1!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools,.ledger-query-toolbar.settlement-filter) input,
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools,.ledger-query-toolbar.settlement-filter) select{
    height:30px!important;
    min-height:30px!important;
    padding:1px 3px!important;
    font-size:.72rem!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools,.ledger-query-toolbar.settlement-filter) .field>span{
    line-height:1!important;
    font-size:.62rem!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools,.ledger-query-toolbar.settlement-filter) [data-action-icon-button]{
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:1px!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools,.ledger-query-toolbar.settlement-filter) [data-action-icon-button] .action-icon{
    width:25px!important;
    height:25px!important;
    max-width:25px!important;
    max-height:25px!important;
  }
}

/* 7.1.48 rebuild base: selected 7.1.43 icons, settlement text, and phone report alignment. */
html body .program-page [data-fee-status-query]{font-size:0!important;border:0!important;background:transparent!important;box-shadow:none!important;overflow:hidden!important}
html body .program-page [data-fee-status-query]>.action-icon-button-label{display:none!important;position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
html body .program-page .quarter-toolbar>[data-quarter-save]{display:inline-flex!important;align-items:center!important;justify-content:center!important;flex:0 0 34px!important;width:34px!important;min-width:34px!important;max-width:34px!important;height:32px!important;min-height:32px!important;max-height:32px!important;padding:2px!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;color:#0b2d59!important;font-size:0!important;line-height:1!important;overflow:visible!important}
html body .program-page .quarter-toolbar>[data-quarter-save] .action-icon-save{display:block!important;flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:28px!important;min-height:28px!important;max-height:28px!important;overflow:visible!important;shape-rendering:geometricPrecision}
html body .program-page [data-settlement-text-action]{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:auto!important;min-width:max-content!important;height:32px!important;min-height:32px!important;padding:4px 8px!important;font-size:.78rem!important;line-height:1!important;text-align:center!important;text-indent:0!important;white-space:nowrap!important}
html body .program-page [data-settlement-text-action]::before,
html body .program-page [data-settlement-text-action]::after,
html body .program-page [data-settlement-text-action]>.mobile-action-icon,
html body .program-page [data-settlement-text-action]>.action-icon{content:none!important;display:none!important}
html body .program-page [data-settlement-text-action]>.mobile-icon-text{display:inline!important;position:static!important;width:auto!important;height:auto!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;padding:0!important;margin:0!important;overflow:visible!important;clip:auto!important;white-space:nowrap!important;border:0!important;font-size:inherit!important;line-height:inherit!important}

@media(max-width:620px){
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools){display:grid!important;grid-template-columns:62px 30px minmax(0,1fr) 28px minmax(58px,max-content)!important;align-items:end!important;gap:2px!important;padding:5px!important;width:100%!important;justify-content:stretch!important;overflow:hidden!important}
  html body .program-page .fee-report-inline-tools>.fee-report-year-filter,
  html body .program-page .ranking-report-inline-tools>.ranking-report-year-filter{grid-column:1!important;width:100%!important;min-width:0!important}
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools)>.action-icon-button-query{grid-column:2!important;justify-self:start!important}
  html body .program-page .fee-report-inline-tools>.fee-report-back,
  html body .program-page .ranking-report-inline-tools>.ranking-report-back{grid-column:4!important;justify-self:end!important}
  html body .program-page .fee-report-inline-tools>.fee-report-capture,
  html body .program-page .ranking-report-inline-tools>.ranking-report-capture{grid-column:5!important;justify-self:end!important}
  html body .program-page .quarter-report-inline-tools{display:grid!important;grid-template-columns:58px 64px 30px minmax(0,1fr) 28px minmax(58px,max-content)!important;align-items:end!important;gap:2px!important;padding:5px!important;width:100%!important;justify-content:stretch!important;overflow:hidden!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-year-filter{grid-column:1!important;width:100%!important;min-width:0!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-quarter-filter{grid-column:2!important;width:100%!important;min-width:0!important}
  html body .program-page .quarter-report-inline-tools>.action-icon-button-query{grid-column:3!important;justify-self:start!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-back{grid-column:5!important;justify-self:end!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-capture{grid-column:6!important;justify-self:end!important}
  html body .program-page .ledger-query-toolbar.settlement-filter{display:grid!important;grid-template-columns:42px 44px 28px 36px 36px minmax(0,1fr) 28px minmax(58px,max-content)!important;align-items:end!important;gap:2px!important;padding:5px 4px!important;width:100%!important;justify-content:stretch!important;overflow:hidden!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-year-filter{grid-column:1!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-month-filter{grid-column:2!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.action-icon-button-query{grid-column:3!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-monthly-link{grid-column:4!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-annual-link{grid-column:5!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-spacer{display:none!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-back{grid-column:7!important;justify-self:end!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-capture{grid-column:8!important;justify-self:end!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>[data-settlement-text-action]{width:36px!important;min-width:36px!important;max-width:36px!important;height:30px!important;min-height:30px!important;max-height:30px!important;padding:0 2px!important;font-size:.6rem!important;line-height:1!important}
  html body .program-page :is(.fee-report-capture,.ranking-report-capture,.quarter-report-capture,.ledger-report-capture){min-height:30px!important;height:30px!important;padding:1px 4px!important;font-size:.62rem!important;line-height:1!important;white-space:nowrap!important}
}

/* 7.1.48: phone report controls use one structural right-edge action group. Keep this block last. */
html body .program-page .report-right-tools{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  flex:0 0 auto!important;
  gap:2px!important;
  margin-left:auto!important;
  white-space:nowrap!important;
}

@media(max-width:900px){
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools){
    display:grid!important;
    grid-template-columns:62px 30px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:end!important;
    gap:2px!important;
    width:100%!important;
    max-width:100%!important;
    padding:5px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  html body .program-page .quarter-report-inline-tools{
    display:grid!important;
    grid-template-columns:58px 64px 30px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:end!important;
    gap:2px!important;
    width:100%!important;
    max-width:100%!important;
    padding:5px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  html body .program-page .fee-report-inline-tools>.fee-report-year-filter,
  html body .program-page .ranking-report-inline-tools>.ranking-report-year-filter{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools)>.action-icon-button-query{
    grid-column:2!important;
    grid-row:1!important;
    align-self:end!important;
    justify-self:start!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools)>.report-right-tools{
    grid-column:3!important;
    grid-row:1!important;
    align-self:end!important;
    justify-self:stretch!important;
    justify-content:flex-end!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  html body .program-page .quarter-report-inline-tools>.quarter-report-year-filter{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  html body .program-page .quarter-report-inline-tools>.quarter-report-quarter-filter{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  html body .program-page .quarter-report-inline-tools>.action-icon-button-query{
    grid-column:3!important;
    grid-row:1!important;
    align-self:end!important;
    justify-self:start!important;
  }
  html body .program-page .quarter-report-inline-tools>.quarter-report-right-tools{
    grid-column:4!important;
    grid-row:1!important;
    align-self:end!important;
    justify-self:stretch!important;
    justify-content:flex-end!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools) :is(input,select){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px 3px!important;
    font-size:.72rem!important;
    box-sizing:border-box!important;
  }
  html body .program-page :is(.fee-report-right-tools,.quarter-report-right-tools,.ranking-report-right-tools)> :is(.fee-report-back,.quarter-report-back,.ranking-report-back){
    flex:0 0 28px!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:1px!important;
    align-self:end!important;
  }
  html body .program-page :is(.fee-report-right-tools,.quarter-report-right-tools,.ranking-report-right-tools)> :is(.fee-report-capture,.quarter-report-capture,.ranking-report-capture){
    flex:0 0 auto!important;
    width:auto!important;
    min-width:58px!important;
    max-width:none!important;
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
    padding:1px 4px!important;
    font-size:.62rem!important;
    line-height:1!important;
    white-space:nowrap!important;
    align-self:end!important;
  }
}

@media(max-width:360px){
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools){grid-template-columns:56px 28px minmax(0,1fr)!important;padding-inline:4px!important}
  html body .program-page .quarter-report-inline-tools{grid-template-columns:54px 60px 28px minmax(0,1fr)!important;padding-inline:4px!important}
  html body .program-page :is(.fee-report-right-tools,.quarter-report-right-tools,.ranking-report-right-tools)> :is(.fee-report-capture,.quarter-report-capture,.ranking-report-capture){min-width:56px!important;padding-inline:2px!important;font-size:.6rem!important}
}

/* 7.1.48: compact game query/report A-area and reinforced quarter report row. Keep last. */
html body .program-page .game-report-inline-tools>.game-report-right-tools{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:2px!important;
  margin-left:auto!important;
  white-space:nowrap!important;
}

@media(max-width:900px){
  html body .program-page .club-nav-games>.club-nav-mobile-no-arrows{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  html body .program-page .club-nav-games>.club-nav-mobile-no-arrows>.club-nav-selector{
    width:100%!important;
    min-width:0!important;
  }
  html body .program-page .game-query-toolbar{
    display:grid!important;
    grid-template-columns:68px 50px 66px minmax(54px,1fr) 28px 28px!important;
    grid-template-rows:auto!important;
    align-items:end!important;
    gap:2px!important;
    width:100%!important;
    max-width:100%!important;
    padding:5px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  html body .program-page .game-query-toolbar>.game-query-mode-filter{grid-column:1!important;grid-row:1!important}
  html body .program-page .game-query-toolbar>.game-query-year-filter{grid-column:2!important;grid-row:1!important}
  html body .program-page .game-query-toolbar>.game-query-week-filter{grid-column:3!important;grid-row:1!important}
  html body .program-page .game-query-toolbar>.game-query-member-filter{grid-column:4!important;grid-row:1!important}
  html body .program-page .game-query-toolbar>.action-icon-button-query{grid-column:5!important;grid-row:1!important}
  html body .program-page .game-query-toolbar>.game-query-report{grid-column:6!important;grid-row:1!important}
  html body .program-page .game-query-toolbar> :is(.field,.action-icon-button){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    align-self:end!important;
  }
  html body .program-page .game-query-toolbar> :is(.action-icon-button-query,.game-query-report){
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px!important;
  }
  html body .program-page .game-query-toolbar :is(input,select){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px 3px!important;
    font-size:.7rem!important;
    box-sizing:border-box!important;
  }
  html body .program-page .game-query-actions{
    display:flex!important;
    justify-content:flex-end!important;
    min-height:30px!important;
    margin:0 0 4px!important;
  }
  html body .program-page .game-report-inline-tools{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:flex-end!important;
    gap:2px!important;
    width:100%!important;
    max-width:100%!important;
    padding:5px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  html body .program-page .game-report-inline-tools>.game-report-primary-filter{
    flex:0 1 78px!important;
    width:78px!important;
    min-width:54px!important;
    max-width:78px!important;
    margin:0!important;
  }
  html body .program-page .game-report-inline-tools>.game-report-menu-filter{
    flex:0 1 84px!important;
    width:84px!important;
    min-width:68px!important;
    max-width:84px!important;
    margin:0!important;
  }
  html body .program-page .game-report-inline-tools>.action-icon-button-query{
    flex:0 0 28px!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px!important;
    align-self:end!important;
  }
  html body .program-page .game-report-inline-tools>.game-report-right-tools{
    flex:1 0 86px!important;
    width:auto!important;
    min-width:86px!important;
    max-width:none!important;
    margin:0 0 0 auto!important;
    align-self:end!important;
  }
  html body .program-page .game-report-inline-tools :is(input,select){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px 3px!important;
    font-size:.69rem!important;
    box-sizing:border-box!important;
  }
  html body .program-page .game-report-right-tools>.game-report-back{
    flex:0 0 28px!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px!important;
  }
  html body .program-page .game-report-right-tools>.game-report-capture{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:56px!important;
    max-width:none!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px 3px!important;
    font-size:.6rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  html body .program-page .quarter-report-inline-tools{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:flex-end!important;
    gap:2px!important;
    width:100%!important;
    max-width:100%!important;
    padding:5px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  html body .program-page .quarter-report-inline-tools>.quarter-report-year-filter{flex:0 1 58px!important;width:58px!important;min-width:50px!important;max-width:58px!important;margin:0!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-quarter-filter{flex:0 1 64px!important;width:64px!important;min-width:56px!important;max-width:64px!important;margin:0!important}
  html body .program-page .quarter-report-inline-tools>.action-icon-button-query{flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:30px!important;min-height:30px!important;padding:1px!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-right-tools{display:inline-flex!important;flex:1 0 86px!important;width:auto!important;min-width:86px!important;max-width:none!important;align-items:flex-end!important;justify-content:flex-end!important;gap:2px!important;margin:0 0 0 auto!important}
}

@media(max-width:360px){
  html body .program-page .game-query-toolbar{grid-template-columns:62px 46px 58px minmax(46px,1fr) 26px 26px!important;padding-inline:4px!important}
  html body .program-page .game-query-toolbar> :is(.action-icon-button-query,.game-query-report){width:26px!important;min-width:26px!important;max-width:26px!important}
  html body .program-page .game-report-inline-tools{padding-inline:4px!important}
  html body .program-page .game-report-inline-tools>.game-report-primary-filter{flex-basis:68px!important;width:68px!important;min-width:50px!important}
  html body .program-page .game-report-inline-tools>.game-report-menu-filter{flex-basis:76px!important;width:76px!important;min-width:62px!important}
  html body .program-page .game-report-inline-tools>.action-icon-button-query{flex-basis:26px!important;width:26px!important;min-width:26px!important;max-width:26px!important}
  html body .program-page .game-report-inline-tools>.game-report-right-tools{flex-basis:84px!important;min-width:84px!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-year-filter{flex-basis:54px!important;width:54px!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-quarter-filter{flex-basis:60px!important;width:60px!important}
}

/* 7.1.48: structural game report edge groups and always-visible mobile club title. Keep last. */
html body .program-page .game-report-inline-tools>.game-report-left-tools{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:2px!important;
  min-width:0!important;
  margin:0!important;
}
html body .program-page .game-report-inline-tools>.game-report-right-tools{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  gap:2px!important;
  margin-left:auto!important;
  white-space:nowrap!important;
}

@media(max-width:980px){
  html body .program-page .club-nav{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    min-height:38px!important;
    padding:3px 5px!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  html body .program-page .club-nav>.club-nav-mobile-current-title{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    align-items:center!important;
    justify-content:stretch!important;
    gap:4px!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:32px!important;
  }
  html body .program-page .club-nav-mobile-current-title>.club-nav-rotation-trigger{
    position:relative!important;
    display:block!important;
    grid-column:1!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
    margin:0!important;
    border:1px solid #8fa7c1!important;
    border-radius:6px!important;
    background:#eef5fd!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body .program-page .club-nav-mobile-current-title>.club-nav-rotation-trigger::after{
    content:"▾"!important;
    position:absolute!important;
    inset:0!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    color:#174b83!important;
    font-size:1rem!important;
    font-weight:900!important;
    line-height:1!important;
    pointer-events:none!important;
  }
  html body .program-page .club-nav-mobile-current-title>.club-nav-rotation-trigger>select{
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:transparent!important;
    font-size:0!important;
    opacity:0!important;
    cursor:pointer!important;
  }
  html body .program-page .club-nav-mobile-current-title>.club-nav-current-title{
    grid-column:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    color:#173b68!important;
    font-size:1rem!important;
    font-weight:900!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  html body .program-page .club-nav-mobile-current-title>.club-nav-title-spacer{
    grid-column:3!important;
    display:block!important;
    width:34px!important;
    height:1px!important;
  }
}

@media(max-width:900px){
  html body .program-page .game-report-inline-tools{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:2px!important;
    width:100%!important;
    max-width:100%!important;
    padding:5px!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  html body .program-page .game-report-inline-tools>.game-report-left-tools{
    flex:0 1 auto!important;
    width:auto!important;
    max-width:calc(100% - 88px)!important;
    min-width:0!important;
    align-self:end!important;
  }
  html body .program-page .game-report-left-tools>.game-report-primary-filter{
    flex:0 1 78px!important;
    width:78px!important;
    min-width:54px!important;
    max-width:78px!important;
    margin:0!important;
  }
  html body .program-page .game-report-left-tools>.game-report-menu-filter{
    flex:0 1 84px!important;
    width:84px!important;
    min-width:68px!important;
    max-width:84px!important;
    margin:0!important;
  }
  html body .program-page .game-report-left-tools>.action-icon-button-query{
    flex:0 0 28px!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px!important;
    align-self:end!important;
  }
  html body .program-page .game-report-inline-tools>.game-report-right-tools{
    flex:0 0 86px!important;
    width:86px!important;
    min-width:86px!important;
    max-width:86px!important;
    align-self:end!important;
    margin:0 0 0 auto!important;
  }
  html body .program-page .game-report-left-tools :is(input,select){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px 3px!important;
    font-size:.69rem!important;
    box-sizing:border-box!important;
  }
}

@media(max-width:360px){
  html body .program-page .club-nav{min-height:36px!important;padding-block:3px!important}
  html body .program-page .club-nav>.club-nav-mobile-current-title{grid-template-columns:30px minmax(0,1fr) 30px!important;height:30px!important;gap:3px!important}
  html body .program-page .club-nav-mobile-current-title>.club-nav-rotation-trigger{width:30px!important;min-width:30px!important;max-width:30px!important;height:30px!important;min-height:30px!important}
  html body .program-page .club-nav-mobile-current-title>.club-nav-current-title{font-size:.94rem!important}
  html body .program-page .club-nav-mobile-current-title>.club-nav-title-spacer{width:30px!important}
  html body .program-page .game-report-inline-tools{padding-inline:4px!important}
  html body .program-page .game-report-left-tools>.game-report-primary-filter{flex-basis:66px!important;width:66px!important;min-width:48px!important}
  html body .program-page .game-report-left-tools>.game-report-menu-filter{flex-basis:72px!important;width:72px!important;min-width:60px!important}
  html body .program-page .game-report-left-tools>.action-icon-button-query{flex-basis:26px!important;width:26px!important;min-width:26px!important;max-width:26px!important}
  html body .program-page .game-report-inline-tools>.game-report-right-tools{flex-basis:84px!important;width:84px!important;min-width:84px!important;max-width:84px!important}
}

/* 7.1.48: actual DOM-level centered club title box and quarter report right edge. Keep last. */
@media(max-width:980px){
  html body>nav.club-nav{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100vw!important;
    min-height:40px!important;
    margin:0!important;
    padding:3px max(5px,env(safe-area-inset-right)) 3px max(5px,env(safe-area-inset-left))!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  html body>nav.club-nav>.club-nav-mobile-current-title{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:34px!important;
    margin:0!important;
  }
  html body>nav.club-nav .club-nav-title-box{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:calc(100vw - 12px)!important;
    max-width:100%!important;
    min-width:0!important;
    height:34px!important;
    min-height:34px!important;
    margin:0 auto!important;
    padding:2px 36px!important;
    border:1px solid #aebdd0!important;
    border-radius:6px!important;
    background:#eef5fd!important;
    box-shadow:0 1px 2px rgba(18,55,91,.08)!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body>nav.club-nav .club-nav-title-box::after{
    content:"▾"!important;
    position:absolute!important;
    right:12px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
    color:#174b83!important;
    font-size:.9rem!important;
    font-weight:900!important;
    line-height:1!important;
    pointer-events:none!important;
  }
  html body>nav.club-nav .club-nav-title-box>.club-nav-current-title{
    position:relative!important;
    z-index:1!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
    color:#173b68!important;
    font-size:1rem!important;
    font-weight:900!important;
    line-height:1.15!important;
    text-align:center!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    pointer-events:none!important;
  }
  html body>nav.club-nav .club-nav-title-box>select{
    position:absolute!important;
    inset:0!important;
    z-index:2!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:100%!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:transparent!important;
    font-size:0!important;
    opacity:0!important;
    cursor:pointer!important;
  }
}

@media(max-width:900px){
  html body main.program-page form.quarter-report-inline-tools{
    display:grid!important;
    grid-template-columns:58px 64px 28px minmax(0,1fr)!important;
    grid-template-rows:auto!important;
    align-items:end!important;
    justify-content:stretch!important;
    gap:2px!important;
    width:100%!important;
    max-width:100%!important;
    margin-inline:0!important;
    padding:5px!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-year-filter{
    grid-column:1!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-quarter-filter{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
  }
  html body main.program-page form.quarter-report-inline-tools>.action-icon-button-query{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:start!important;
    align-self:end!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px!important;
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools{
    grid-column:4!important;
    grid-row:1!important;
    display:flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    justify-self:stretch!important;
    align-self:end!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
    gap:2px!important;
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools>.quarter-report-back{
    flex:0 0 28px!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px!important;
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools>.quarter-report-capture{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:58px!important;
    max-width:none!important;
    height:30px!important;
    min-height:30px!important;
    padding:1px 4px!important;
    font-size:.62rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
}

@media(max-width:360px){
  html body>nav.club-nav{min-height:38px!important;padding-block:3px!important}
  html body>nav.club-nav>.club-nav-mobile-current-title{height:32px!important}
  html body>nav.club-nav .club-nav-title-box{width:calc(100vw - 10px)!important;height:32px!important;min-height:32px!important;padding-inline:32px!important}
  html body>nav.club-nav .club-nav-title-box>.club-nav-current-title{font-size:.94rem!important}
  html body main.program-page form.quarter-report-inline-tools{grid-template-columns:54px 60px 26px minmax(0,1fr)!important;padding-inline:4px!important}
  html body main.program-page form.quarter-report-inline-tools>.action-icon-button-query{width:26px!important;min-width:26px!important;max-width:26px!important}
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools>.quarter-report-capture{min-width:56px!important;padding-inline:2px!important;font-size:.6rem!important}
}

/* 7.1.50: keep the centered mobile title inside one flow row and never cover the following controls. Keep last. */
@media(max-width:980px){
  html body>nav.club-nav{
    position:static!important;
    top:auto!important;
    display:flex!important;
    flex:0 0 38px!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    height:38px!important;
    min-height:38px!important;
    max-height:38px!important;
    margin:0!important;
    padding:3px 5px!important;
    overflow:hidden!important;
    z-index:auto!important;
    box-sizing:border-box!important;
  }
  html body>nav.club-nav>.club-nav-mobile-current-title{
    position:relative!important;
    display:flex!important;
    flex:1 1 auto!important;
    align-items:center!important;
    justify-content:center!important;
    width:100%!important;
    max-width:100%!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    margin:0!important;
    overflow:hidden!important;
  }
  html body>nav.club-nav .club-nav-title-box{
    width:calc(100% - 2px)!important;
    max-width:100%!important;
    height:32px!important;
    min-height:32px!important;
    max-height:32px!important;
    margin:0 auto!important;
  }
  html body>nav.club-nav+main.program-page{
    position:relative!important;
    clear:both!important;
    width:min(1520px,98vw)!important;
    margin-top:4px!important;
    padding-top:0!important;
    z-index:1!important;
  }
}

@media(max-width:360px){
  html body>nav.club-nav{
    flex-basis:36px!important;
    height:36px!important;
    min-height:36px!important;
    max-height:36px!important;
    padding-block:2px!important;
  }
  html body>nav.club-nav>.club-nav-mobile-current-title,
  html body>nav.club-nav .club-nav-title-box{
    height:30px!important;
    min-height:30px!important;
    max-height:30px!important;
  }
  html body>nav.club-nav+main.program-page{margin-top:3px!important}
}

/* 7.1.51: move game bulk tools into the top B area and use document scrolling on phones. Keep last. */
.game-section-tabs>.game-query-top-bulk-tools{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:3px!important;
  margin:0 0 0 auto!important;
  white-space:nowrap!important;
}
.game-section-tabs>.game-query-top-bulk-tools .game-query-icon-action{
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  margin:0!important;
  padding:2px!important;
}

@media(max-width:620px){
  html,
  html body{
    height:auto!important;
    min-height:100%!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
  }
  html body .site-head{
    position:sticky!important;
    top:0!important;
    z-index:50!important;
    transform:translateZ(0)!important;
    will-change:transform!important;
  }
  html body main.program-page.game-query-page{
    min-height:calc(100dvh - 84px)!important;
    padding-bottom:calc(76px + env(safe-area-inset-bottom))!important;
    overflow:visible!important;
  }
  html body main.game-query-page .game-section-tabs{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    width:100%!important;
    min-height:38px!important;
    margin-bottom:5px!important;
    overflow:hidden!important;
  }
  html body main.game-query-page .game-section-tabs>a{
    flex:0 0 32px!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
  }
  html body main.game-query-page .game-section-tabs>.game-query-top-bulk-tools{
    flex:0 0 68px!important;
    width:68px!important;
    min-width:68px!important;
    max-width:68px!important;
    margin-left:auto!important;
  }
  html body main.game-query-page .game-query-bulk-form{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    overflow:visible!important;
  }
  html body main.game-query-page .game-query-bulk-form>.game-query-actions{
    display:none!important;
  }
  html body main.game-query-page .game-query-bulk-form>.table-wrap.game-query-document-grid,
  html body main.game-query-page .game-query-bulk-form>.table-wrap.sticky-grid.game-query-document-grid,
  html body main.game-query-page .game-query-bulk-form>.table-wrap.fit-viewport-grid.game-query-document-grid{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    overscroll-behavior-x:auto!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body main.game-query-page .game-query-document-grid>.data-table{
    margin-bottom:12px!important;
  }
}

/* 7.1.52: fixed phone header and fixed game-result field row with data-only scrolling. Keep last. */
@media(max-width:620px){
  html:has(body.game-query-page-screen){
    height:100%!important;
    min-height:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
  }
  html body.game-query-page-screen{
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior-y:none!important;
  }
  html body.game-query-page-screen>.site-head{
    position:sticky!important;
    top:0!important;
    z-index:60!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:auto!important;
    transform:translateZ(0)!important;
  }
  html body.game-query-page-screen>nav.club-nav{
    position:static!important;
    top:auto!important;
    flex:0 0 38px!important;
  }
  html body.game-query-page-screen>main.program-page.game-query-page{
    min-height:0!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
    overflow:visible!important;
  }
  html body.game-query-page-screen>footer{
    display:none!important;
  }
  html body.game-query-page-screen main.game-query-page .game-query-bulk-form>.table-wrap.game-query-document-grid,
  html body.game-query-page-screen main.game-query-page .game-query-bulk-form>.table-wrap.sticky-grid.game-query-document-grid,
  html body.game-query-page-screen main.game-query-page .game-query-bulk-form>.table-wrap.fit-viewport-grid.game-query-document-grid{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:var(--result-grid-max-height,calc(100dvh - 210px))!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    overscroll-behavior-x:auto!important;
    overscroll-behavior-y:contain!important;
    scroll-padding-top:30px!important;
    scroll-padding-bottom:14px!important;
    scrollbar-gutter:stable both-edges!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body.game-query-page-screen main.game-query-page .game-query-document-grid>.data-table{
    margin-bottom:12px!important;
  }
  html body.game-query-page-screen main.game-query-page .game-query-document-grid>.data-table>thead,
  html body.game-query-page-screen main.game-query-page .game-query-document-grid>.data-table>thead>tr{
    position:sticky!important;
    top:0!important;
    z-index:15!important;
  }
  html body.game-query-page-screen main.game-query-page .game-query-document-grid>.data-table>thead>tr>th{
    position:sticky!important;
    top:0!important;
    z-index:16!important;
    background:#dce9f8!important;
    background-clip:padding-box!important;
    box-shadow:0 1px 0 #9fb4cb!important;
  }
  html body.game-query-page-screen main.game-query-page .game-query-document-grid>.data-table>tbody>tr:last-child>td{
    border-bottom:1px solid #9fb4cb!important;
  }
}

/* 7.1.53: hard-lock the phone page and contain every game-result drag. Keep last. */
@media(max-width:620px){
  html:has(body.game-query-page-screen){
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  html body.game-query-page-screen{
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  html body.game-query-page-screen>.site-head{
    position:relative!important;
    inset:auto!important;
    top:0!important;
    width:100%!important;
    z-index:70!important;
    flex:0 0 46px!important;
    touch-action:none!important;
    overscroll-behavior:none!important;
    transform:none!important;
    will-change:auto!important;
  }
  html body.game-query-page-screen>nav.club-nav,
  html body.game-query-page-screen>main.program-page.game-query-page{
    touch-action:pan-x pan-y pinch-zoom!important;
    overscroll-behavior:none!important;
  }
  html body.game-query-page-screen main.game-query-page .game-query-bulk-form>.game-query-document-grid{
    touch-action:pan-x pan-y pinch-zoom!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:contain!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body.game-query-page-screen main.game-query-page .game-query-document-grid :is(input,button,a){
    touch-action:manipulation!important;
  }
}

/* 7.1.54: use every lower viewport pixel for the isolated game-result data area. Keep last. */
@media(max-width:620px){
  html body.game-query-page-screen main.game-query-page .game-query-bulk-form>.table-wrap.game-query-document-grid,
  html body.game-query-page-screen main.game-query-page .game-query-bulk-form>.table-wrap.sticky-grid.game-query-document-grid,
  html body.game-query-page-screen main.game-query-page .game-query-bulk-form>.table-wrap.fit-viewport-grid.game-query-document-grid{
    width:100%!important;
    height:var(--result-grid-max-height,calc(100dvh - 210px))!important;
    min-height:0!important;
    max-height:var(--result-grid-max-height,calc(100dvh - 210px))!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:contain!important;
    scroll-padding-bottom:0!important;
    scrollbar-gutter:auto!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  html body.game-query-page-screen main.game-query-page .game-query-document-grid>.data-table{
    margin-bottom:0!important;
  }
  html body.game-query-page-screen main.game-query-page .game-query-document-grid>.data-table>tbody>tr:last-child>td{
    border-bottom:1px solid #9fb4cb!important;
  }
}

/* 7.1.82: game-record result rules for every management-program result area. Keep last. */
@media(max-width:620px){
  html:has(body.program-result-lock-screen){
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  html body.program-result-lock-screen{
    position:fixed!important;
    inset:0!important;
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  html body.program-result-lock-screen>.site-head{
    position:relative!important;
    inset:auto!important;
    top:0!important;
    flex:0 0 50px!important;
    width:100%!important;
    z-index:70!important;
    touch-action:none!important;
    overscroll-behavior:none!important;
    transform:none!important;
    will-change:auto!important;
  }
  html body.program-result-lock-screen>nav.club-nav{
    position:relative!important;
    inset:auto!important;
    top:0!important;
    flex:0 0 38px!important;
    width:100%!important;
    z-index:60!important;
    touch-action:none!important;
    overscroll-behavior:none!important;
  }
  html body.program-result-lock-screen>main.program-page{
    flex:1 1 auto!important;
    width:98vw!important;
    min-height:0!important;
    margin-top:4px!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  html body.program-result-lock-screen>footer{
    display:none!important;
  }
  html body.program-result-lock-screen main.program-page .program-primary-result-host{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  html body.program-result-lock-screen main.program-page .table-wrap.program-primary-result-grid,
  html body.program-result-lock-screen main.program-page .table-wrap.sticky-grid.program-primary-result-grid,
  html body.program-result-lock-screen main.program-page .table-wrap.fit-viewport-grid.program-primary-result-grid{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:var(--result-grid-max-height,calc(100dvh - 190px))!important;
    min-height:0!important;
    max-height:var(--result-grid-max-height,calc(100dvh - 190px))!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:contain!important;
    scroll-padding-top:30px!important;
    scroll-padding-bottom:0!important;
    scrollbar-gutter:auto!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body.program-result-lock-screen main.program-page .program-primary-result-grid>.data-table{
    width:max-content!important;
    min-width:100%!important;
    margin-bottom:0!important;
  }
  html body.program-result-lock-screen main.program-page .program-primary-result-grid>.data-table>thead,
  html body.program-result-lock-screen main.program-page .program-primary-result-grid>.data-table>thead>tr{
    position:sticky!important;
    top:0!important;
    z-index:15!important;
  }
  html body.program-result-lock-screen main.program-page .program-primary-result-grid>.data-table>thead>tr>th,
  html body.program-page-screen main.program-page .program-result-grid>.data-table>thead>tr>th{
    position:sticky!important;
    top:0!important;
    z-index:16!important;
    background:#dce9f8!important;
    background-clip:padding-box!important;
    box-shadow:0 1px 0 #9fb4cb!important;
  }
  html body.program-result-lock-screen main.program-page .program-primary-result-grid>.data-table>tbody>tr:last-child>td{
    border-bottom:1px solid #9fb4cb!important;
  }
  html body.program-result-lock-screen main.program-page .program-primary-result-grid :is(input,button,a){
    touch-action:manipulation!important;
  }
  html body.program-page-screen main.program-page .program-result-grid{
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
  }
}



/* 7.1.82: club grouped submenu, compact management fields, and game-query toolbar relocation. Keep last. */
body .site-head{gap:14px!important}
body .site-head>.top-nav{order:2;flex:1 1 auto;min-width:0}
body .site-head>.account{order:3;margin-left:auto}
body .site-head>.nav-toggle{order:4}
body .club-site-nav{order:1;display:inline-flex;align-items:center;gap:10px;min-width:0}
body .club-site-menu{position:relative}
body .club-site-menu>summary{list-style:none;cursor:pointer}
body .club-site-menu>summary::-webkit-details-marker{display:none}
body .club-site-menu[open]>.club-site-submenu{display:flex}
body .club-site-submenu{position:absolute;left:0;top:calc(100% + 8px);display:none;flex-direction:column;min-width:154px;padding:6px;background:#173b68;border:1px solid rgba(255,255,255,.2);border-radius:8px;box-shadow:0 8px 20px rgba(0,0,0,.22);z-index:50}
body .club-site-submenu>a{display:flex;align-items:center;padding:8px 12px;color:#f4f8ff;text-decoration:none;font-weight:700;border-radius:5px;white-space:nowrap}
body .club-site-submenu>a:hover,body .club-site-submenu>a.active{background:#2d5e96;color:#fff}
body .club-site-current-app{display:inline-flex;align-items:center;min-height:34px;color:#fff;font-weight:800;white-space:nowrap;letter-spacing:-.01em}
body .club-nav{border-bottom:0!important;box-shadow:none!important}
body .club-nav a.active{border-bottom:0!important;box-shadow:inset 0 -3px 0 var(--blue)}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline{gap:2px!important;justify-content:flex-start!important}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>label.field{margin-inline-end:0!important}
html body .program-page .member-editor-panel .member-entry-grid.member-fit-inline>.member-primary-actions{margin-left:0!important}
html body .program-page .game-query-top-strip{display:flex;align-items:flex-start;gap:6px;padding:8px 10px;margin-bottom:8px;overflow:visible}
html body .program-page .game-query-top-strip-left{display:flex;align-items:flex-start;flex:0 0 auto}
html body .program-page .game-query-top-strip-center{display:flex;align-items:flex-start;flex:1 1 auto;min-width:0}
html body .program-page .game-query-top-strip-right{display:flex;align-items:flex-start;justify-content:flex-end;flex:0 0 auto;margin-left:auto}
html body .program-page .game-query-top-strip .game-section-tabs{margin:0!important}
html body .program-page .game-query-top-strip .game-query-top-bulk-tools{margin:0!important}
html body .program-page .game-query-inline-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:4px;width:100%;margin:0;padding:0;background:transparent;border:0;box-shadow:none}
html body .program-page .game-query-inline-toolbar>.field{flex:0 0 auto!important;min-width:0!important;margin:0!important}
html body .program-page .game-query-inline-toolbar>.game-query-mode-filter{width:92px!important}
html body .program-page .game-query-inline-toolbar>.game-query-year-filter{width:56px!important}
html body .program-page .game-query-inline-toolbar>.game-query-week-filter{width:92px!important}
html body .program-page .game-query-inline-toolbar>.game-query-member-filter{width:92px!important}
html body .program-page .game-query-inline-toolbar>.field>span{font-size:.66rem!important;margin-bottom:1px!important;white-space:nowrap}
html body .program-page .game-query-inline-toolbar input,html body .program-page .game-query-inline-toolbar select{height:31px!important;min-height:31px!important;padding:4px 6px!important}
html body .program-page .game-query-inline-toolbar>.btn,html body .program-page .game-query-inline-toolbar>.action-icon-button{align-self:flex-end!important}
html body .program-page .game-query-inline-toolbar>.action-icon-button-query,html body .program-page .game-query-inline-toolbar>.game-query-report{justify-self:start!important}
html body .program-page .game-query-page .game-query-document-grid{margin-top:0!important}
@media (max-width:980px){
  body .site-head{flex-wrap:wrap;align-items:center}
  body .club-site-nav{order:1;flex:1 1 auto}
  body .site-head>.top-nav{order:5;flex:1 1 100%}
  body .club-site-current-app{font-size:.82rem}
  body .club-site-submenu{left:0;right:auto}
  html body .program-page .game-query-top-strip{flex-wrap:wrap}
  html body .program-page .game-query-top-strip-center{flex:1 1 100%}
  html body .program-page .game-query-top-strip-right{margin-left:0}
  html body .program-page .game-query-inline-toolbar>.game-query-member-filter{width:120px!important}
}


/* 7.1.82: report actions flush right, fee entry default selection, and tighter member/query rows. Keep last. */
@media (min-width:981px){
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools){
    display:flex!important;
    align-items:flex-end!important;
    gap:2px!important;
    width:100%!important;
    max-width:100%!important;
    padding:8px 10px!important;
    box-sizing:border-box!important;
    overflow:visible!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools)>.field{
    flex:0 0 auto!important;
    min-width:0!important;
    margin:0!important;
  }
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools)>.fee-report-year-filter,
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools)>.ranking-report-year-filter{width:64px!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-year-filter{width:64px!important}
  html body .program-page .quarter-report-inline-tools>.quarter-report-quarter-filter{width:68px!important}
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools)>.btn,
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools)>[data-action-icon-button]{flex:0 0 auto!important;margin:0!important}
  html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools)>.report-right-tools{
    display:inline-flex!important;
    align-items:flex-end!important;
    justify-content:flex-end!important;
    gap:3px!important;
    flex:1 1 auto!important;
    width:auto!important;
    min-width:0!important;
    margin:0 0 0 auto!important;
  }
  html body .program-page .game-query-top-strip{align-items:flex-end!important;gap:4px!important}
  html body .program-page .game-query-top-strip-center{flex:0 1 auto!important;min-width:0!important}
  html body .program-page .game-query-top-strip-right{margin-left:auto!important}
  html body .program-page .game-query-inline-toolbar{width:auto!important;flex:0 1 auto!important;gap:1px!important;flex-wrap:nowrap!important}
  html body .program-page .game-query-inline-toolbar>.field{margin:0!important;flex:0 0 auto!important}
  html body .program-page .game-query-inline-toolbar>.game-query-mode-filter{width:88px!important}
  html body .program-page .game-query-inline-toolbar>.game-query-year-filter{width:54px!important}
  html body .program-page .game-query-inline-toolbar>.game-query-week-filter{width:84px!important}
  html body .program-page .game-query-inline-toolbar>.game-query-member-filter{width:82px!important}
  html body .program-page .game-query-inline-toolbar>.action-icon-button-query,
  html body .program-page .game-query-inline-toolbar>.game-query-report{margin-left:0!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:1px!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.field{
    flex:0 0 auto!important;
    min-width:0!important;
    margin:0!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-phone-row-break{display:none!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-name-field{--fit-field-width:68px!important;--fit-control-width:68px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-phone-field{--fit-field-width:116px!important;--fit-control-width:116px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-grade-field{--fit-field-width:68px!important;--fit-control-width:68px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-join-field{--fit-field-width:84px!important;--fit-control-width:84px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-average-field{--fit-field-width:64px!important;--fit-control-width:64px!important}
  html body .program-page .member-editor-panel .member-entry-main-row>.member-primary-actions{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:max-content!important;
    margin:0!important;
    gap:2px!important;
  }
}


/* 7.1.82: header-owned management submenu, tighter game query icons, and mobile strip cleanup. Keep last. */
body .club-management-menu{position:relative;display:inline-flex;align-items:center;min-width:0}
body .club-management-menu>summary{list-style:none;cursor:pointer}
body .club-management-menu>summary::-webkit-details-marker{display:none}
body .club-management-trigger{position:relative;display:inline-flex;align-items:center;min-height:34px;padding-right:14px;color:#fff;font-weight:800;white-space:nowrap;letter-spacing:-.01em}
body .club-management-trigger::after{content:"▾";display:inline-block;margin-left:4px;font-size:.72rem;line-height:1;opacity:.92}
body .club-management-submenu{left:0;right:auto;min-width:172px}
html body .program-page .game-query-inline-toolbar{gap:2px!important}
html body .program-page .game-query-inline-toolbar>.game-query-member-filter{margin-right:0!important}
html body .program-page .game-query-inline-toolbar>.btn,
html body .program-page .game-query-inline-toolbar>.game-query-report{margin-left:0!important}
@media (min-width:981px){
  html body .program-page .game-query-inline-toolbar{gap:1px!important}
  html body .program-page .game-query-inline-toolbar>.game-query-member-filter{width:78px!important}
  html body .program-page .game-query-inline-toolbar>.btn{padding-inline:8px!important}
}
@media (max-width:980px){
  body.program-page-screen .site-head>.nav-toggle{display:none!important}
  body.program-page-screen .site-head{gap:10px!important}
  body.program-page-screen .club-site-nav{flex:1 1 auto!important;justify-content:flex-start!important;gap:8px!important}
  body.program-page-screen .club-management-menu{flex:0 1 auto!important;min-width:0!important}
  body.program-page-screen .club-management-trigger{max-width:min(46vw,210px)!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.program-page-screen .club-management-submenu{left:auto!important;right:0!important}
  body.program-page-screen .site-head>.top-nav{display:none!important}
  body.program-page-screen main.program-page{margin-top:8px!important}
  html body .program-page .game-query-inline-toolbar{gap:1px!important}
  html body .program-page .game-query-inline-toolbar>.game-query-mode-filter{width:86px!important}
  html body .program-page .game-query-inline-toolbar>.game-query-year-filter{width:54px!important}
  html body .program-page .game-query-inline-toolbar>.game-query-week-filter{width:78px!important}
  html body .program-page .game-query-inline-toolbar>.game-query-member-filter{width:78px!important}
  html body .program-page .game-query-inline-toolbar>.btn{padding-inline:6px!important}
}


/* 7.1.82: integration report default, complete report selector labels, and no outer member-page scrollbar. Keep last. */
html body .program-page .game-report-left-tools>.game-report-menu-filter{
  flex:0 0 104px!important;
  width:104px!important;
  min-width:104px!important;
  max-width:104px!important;
}
html body .program-page .game-report-left-tools>.game-report-menu-filter select{
  width:100%!important;
  min-width:0!important;
  font-size:.74rem!important;
  text-overflow:clip!important;
}
@media (max-width:620px){
  html body .program-page .game-report-left-tools>.game-report-menu-filter{
    flex-basis:88px!important;
    width:88px!important;
    min-width:88px!important;
    max-width:88px!important;
  }
  html body .program-page .game-report-left-tools>.game-report-menu-filter select{font-size:.7rem!important;padding-inline:2px!important}
}
@media (min-width:621px){
  html:has(body.member-management-page-screen){height:100%!important;overflow-y:hidden!important}
  body.member-management-page-screen{
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow-y:hidden!important;
  }
  body.member-management-page-screen>.site-head{flex:0 0 auto!important}
  body.member-management-page-screen>main.member-management-page{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    margin-top:8px!important;
    margin-bottom:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  body.member-management-page-screen>main.member-management-page>.member-editor-panel,
  body.member-management-page-screen>main.member-management-page>.post-tools,
  body.member-management-page-screen>main.member-management-page>dialog{
    flex:0 0 auto!important;
  }
  body.member-management-page-screen>main.member-management-page>.member-management-result-grid{
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
  }
  body.member-management-page-screen>footer{display:none!important}
}


/* 7.1.82: game report selector/result synchronization. Keep last. */
html body .program-page .game-report-result{display:contents}


/* 7.1.82: tablet/PC fixed management controls with result-data-only vertical scrolling. Keep last. */
@media (min-width:621px){
  html:has(body.program-wide-result-lock-screen){
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  html body.program-wide-result-lock-screen{
    width:100%!important;
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  html body.program-wide-result-lock-screen>.site-head{
    position:relative!important;
    top:0!important;
    flex:0 0 auto!important;
    width:100%!important;
    z-index:70!important;
  }
  html body.program-wide-result-lock-screen>main.program-page{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    margin-top:8px!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  html body.program-wide-result-lock-screen>main.program-page>.panel,
  html body.program-wide-result-lock-screen>main.program-page>.report-tabs,
  html body.program-wide-result-lock-screen>main.program-page>.page-title,
  html body.program-wide-result-lock-screen>main.program-page>.post-tools,
  html body.program-wide-result-lock-screen>main.program-page>dialog:not(.program-wide-result-host){
    flex:0 0 auto!important;
  }
  html body.program-wide-result-lock-screen main.program-page .program-wide-result-host{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    overflow:hidden!important;
    margin-bottom:0!important;
  }
  html body.program-wide-result-lock-screen main.program-page .table-wrap.program-wide-result-grid,
  html body.program-wide-result-lock-screen main.program-page .table-wrap.sticky-grid.program-wide-result-grid,
  html body.program-wide-result-lock-screen main.program-page .table-wrap.fit-viewport-grid.program-wide-result-grid{
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin-bottom:0!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:contain!important;
    scrollbar-gutter:stable!important;
    -webkit-overflow-scrolling:touch!important;
  }
  html body.program-wide-result-lock-screen main.program-page .program-wide-result-grid>.data-table{
    width:max-content!important;
    min-width:100%!important;
    margin-bottom:0!important;
  }
  html body.program-wide-result-lock-screen main.program-page .program-wide-result-grid>.data-table>thead,
  html body.program-wide-result-lock-screen main.program-page .program-wide-result-grid>.data-table>thead>tr{
    position:sticky!important;
    top:0!important;
    z-index:20!important;
  }
  html body.program-wide-result-lock-screen main.program-page .program-wide-result-grid>.data-table>thead>tr>th{
    position:sticky!important;
    top:0!important;
    z-index:21!important;
    background:#dce9f8!important;
    background-clip:padding-box!important;
    box-shadow:0 1px 0 #9fb4cb!important;
  }
  html body.program-wide-result-lock-screen>footer{display:none!important}
}


/* 7.1.82: unified management control-row packing and right-edge report actions across widths. Keep last. */
html body .program-page .game-query-top-strip{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:2px!important;
}
html body .program-page .game-query-top-strip-left,
html body .program-page .game-query-top-strip-center,
html body .program-page .game-query-top-strip-right{
  display:flex!important;
  align-items:flex-end!important;
  min-width:0!important;
}
html body .program-page .game-query-top-strip-left{flex:0 0 auto!important}
html body .program-page .game-query-top-strip-center{flex:1 1 auto!important}
html body .program-page .game-query-top-strip-right{flex:1 1 auto!important;justify-content:flex-end!important;margin-left:auto!important}
html body .program-page :is(.form-bar.game-entry-grid,.form-bar.ledger-entry-grid,.form-bar.fee-entry-grid,.filter-bar.game-query-inline-toolbar,.filter-bar.ledger-query-toolbar,.filter-bar.settlement-filter,.filter-bar.fee-filter-bar,.filter-bar.ranking-toolbar,.filter-bar.game-report-inline-tools,.filter-bar.fee-report-inline-tools,.filter-bar.ranking-report-inline-tools,.filter-bar.quarter-report-inline-tools,.quarter-filter-form,.member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline){
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  align-content:flex-start!important;
  gap:2px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
html body .program-page :is(.form-bar.game-entry-grid,.form-bar.ledger-entry-grid,.form-bar.fee-entry-grid,.filter-bar.game-query-inline-toolbar,.filter-bar.ledger-query-toolbar,.filter-bar.settlement-filter,.filter-bar.fee-filter-bar,.filter-bar.ranking-toolbar,.filter-bar.game-report-inline-tools,.filter-bar.fee-report-inline-tools,.filter-bar.ranking-report-inline-tools,.filter-bar.quarter-report-inline-tools,.quarter-filter-form)>.field,
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.field{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  grid-column:auto!important;
}
html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(1){flex-basis:92px!important;width:92px!important}
html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(2){flex-basis:88px!important;width:88px!important}
html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(3){flex-basis:86px!important;width:86px!important}
html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(4),
html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(5),
html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(6),
html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(7){flex-basis:54px!important;width:54px!important}
html body .program-page .form-bar.game-entry-grid>.game-note-field{flex:0 1 110px!important;width:110px!important;min-width:70px!important}
html body .program-page .form-bar.game-entry-grid>.form-actions{display:inline-flex!important;align-items:flex-end!important;justify-content:flex-end!important;flex:1 0 auto!important;width:auto!important;min-width:28px!important;max-width:none!important;margin:0 0 0 auto!important;gap:2px!important}
html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-mode-filter{flex-basis:86px!important;width:86px!important}
html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-year-filter{flex-basis:54px!important;width:54px!important}
html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-week-filter{flex-basis:78px!important;width:78px!important}
html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-member-filter{flex-basis:78px!important;width:78px!important;margin-right:0!important}
html body .program-page .filter-bar.game-query-inline-toolbar>.btn,
html body .program-page .filter-bar.game-query-inline-toolbar>.action-icon-button,
html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-report{margin:0!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-name-field{--fit-field-width:68px!important;--fit-control-width:68px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-phone-field{--fit-field-width:108px!important;--fit-control-width:108px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-grade-field{--fit-field-width:64px!important;--fit-control-width:64px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-join-field{--fit-field-width:82px!important;--fit-control-width:82px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-average-field{--fit-field-width:60px!important;--fit-control-width:60px!important}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions{display:inline-flex!important;align-items:flex-end!important;justify-content:flex-end!important;flex:1 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0 0 0 auto!important;gap:2px!important}
html body .program-page :is(.game-report-inline-tools,.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools){padding:6px 8px!important}
html body .program-page .game-report-inline-tools>.game-report-right-tools,
html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools)>.report-right-tools{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  margin:0 0 0 auto!important;
  gap:2px!important;
}
html body .program-page .game-report-inline-tools>.game-report-left-tools{display:inline-flex!important;flex-wrap:wrap!important;align-items:flex-end!important;justify-content:flex-start!important;gap:2px!important;flex:0 1 auto!important;min-width:0!important}
html body .program-page .game-report-inline-tools>.game-report-left-tools>.field{flex:0 0 auto!important;margin:0!important}
html body .program-page .game-report-inline-tools>.game-report-left-tools>.game-report-menu-filter{width:104px!important;flex-basis:104px!important}
html body .program-page .fee-report-inline-tools>.fee-report-year-filter,
html body .program-page .ranking-report-inline-tools>.ranking-report-year-filter,
html body .program-page .quarter-report-inline-tools>.quarter-report-year-filter{flex-basis:58px!important;width:58px!important}
html body .program-page .quarter-report-inline-tools>.quarter-report-quarter-filter{flex-basis:64px!important;width:64px!important}
html body .program-page :is(.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools)>.action-icon-button-query{flex:0 0 28px!important;width:28px!important}
@media (max-width:900px){
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(1){flex-basis:86px!important;width:86px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(2){flex-basis:82px!important;width:82px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(3){flex-basis:78px!important;width:78px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(4),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(5),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(6),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(7){flex-basis:50px!important;width:50px!important}
  html body .program-page .form-bar.game-entry-grid>.game-note-field{flex-basis:100px!important;width:100px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-mode-filter{flex-basis:82px!important;width:82px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-week-filter,
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-member-filter{flex-basis:74px!important;width:74px!important}
}
@media (max-width:620px){
  html body .program-page :is(.form-bar.game-entry-grid,.filter-bar.game-query-inline-toolbar,.game-report-inline-tools,.fee-report-inline-tools,.ranking-report-inline-tools,.quarter-report-inline-tools,.member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline){gap:1px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(1){flex-basis:82px!important;width:82px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(2){flex-basis:76px!important;width:76px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(3){flex-basis:74px!important;width:74px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(4),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(5),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(6),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(7){flex-basis:48px!important;width:48px!important}
  html body .program-page .form-bar.game-entry-grid>.game-note-field{flex-basis:76px!important;width:76px!important;min-width:62px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-mode-filter{flex-basis:78px!important;width:78px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-year-filter{flex-basis:52px!important;width:52px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-week-filter,
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-member-filter{flex-basis:70px!important;width:70px!important}
  html body .program-page .game-report-inline-tools>.game-report-left-tools>.game-report-menu-filter{width:88px!important;flex-basis:88px!important}
  html body .program-page .game-query-top-strip-right{flex-basis:100%!important}
}


/* 7.1.82: narrow-width fixed field sizing, reduced control fonts, and single-line management input/query rows. Keep last. */
@media (max-width:620px){
  /* Game query: never enlarge controls when the management window becomes narrow. */
  html body .program-page .game-query-top-strip{
    flex-wrap:nowrap!important;
    gap:1px!important;
    overflow:visible!important;
  }
  html body .program-page .game-query-top-strip-left{flex:0 0 auto!important}
  html body .program-page .game-query-top-strip-center{flex:1 1 auto!important;min-width:0!important}
  html body .program-page .game-query-top-strip-right{flex:0 0 auto!important;min-width:0!important;margin-left:0!important}
  html body .program-page .filter-bar.game-query-inline-toolbar{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:1px!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  html body .program-page .filter-bar.game-query-inline-toolbar>.field{flex:0 0 auto!important;min-width:0!important;margin:0!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-mode-filter{flex-basis:62px!important;width:62px!important;min-width:62px!important;max-width:62px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-year-filter{flex-basis:45px!important;width:45px!important;min-width:45px!important;max-width:45px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-week-filter{flex-basis:58px!important;width:58px!important;min-width:58px!important;max-width:58px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-member-filter{flex-basis:58px!important;width:58px!important;min-width:58px!important;max-width:58px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar :is(input,select){
    width:100%!important;
    min-width:0!important;
    min-height:28px!important;
    height:28px!important;
    padding:2px 3px!important;
    font-size:.64rem!important;
    line-height:1!important;
  }
  html body .program-page .filter-bar.game-query-inline-toolbar>.field>span{
    margin-bottom:1px!important;
    font-size:.56rem!important;
    line-height:1!important;
  }
  html body .program-page .filter-bar.game-query-inline-toolbar>.btn,
  html body .program-page .filter-bar.game-query-inline-toolbar>.action-icon-button{
    flex:0 0 26px!important;
    width:26px!important;
    min-width:26px!important;
    max-width:26px!important;
    height:28px!important;
    min-height:28px!important;
    padding:1px!important;
    margin:0!important;
    font-size:.58rem!important;
  }

  /* Ledger entry: fixed compact widths + smaller type prevent responsive growth/wrap. */
  html body .program-page .form-bar.ledger-entry-grid{
    display:flex!important;
    flex-flow:row nowrap!important;
    justify-content:flex-start!important;
    align-items:flex-end!important;
    gap:1px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  html body .program-page .form-bar.ledger-entry-grid>.field{flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(1){flex-basis:76px!important;width:76px!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(2){flex-basis:50px!important;width:50px!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(3){flex-basis:76px!important;width:76px!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(4){flex-basis:56px!important;width:56px!important}
  html body .program-page .form-bar.ledger-entry-grid>.ledger-note-field{flex:0 0 70px!important;width:70px!important;min-width:70px!important}
  html body .program-page .form-bar.ledger-entry-grid :is(input,select){min-height:28px!important;height:28px!important;padding:2px 3px!important;font-size:.64rem!important;line-height:1!important}
  html body .program-page .form-bar.ledger-entry-grid>.field>span{font-size:.56rem!important;line-height:1!important;margin-bottom:1px!important}
  html body .program-page .form-bar.ledger-entry-grid>.ledger-actions{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:28px!important;
    max-width:none!important;
    margin:0!important;
    gap:1px!important;
  }
  html body .program-page .form-bar.ledger-entry-grid>.ledger-actions>.btn{min-height:28px!important;height:28px!important;padding:2px 5px!important;font-size:.58rem!important}

  /* Fee entry follows the same fixed-width/no-grow rule. */
  html body .program-page .form-bar.fee-entry-grid{
    display:flex!important;
    flex-flow:row nowrap!important;
    justify-content:flex-start!important;
    align-items:flex-end!important;
    gap:1px!important;
    width:100%!important;
    max-width:100%!important;
    overflow:visible!important;
  }
  html body .program-page .form-bar.fee-entry-grid>.field{flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-equal-field{flex-basis:68px!important;width:68px!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-date-field{flex-basis:76px!important;width:76px!important}
  html body .program-page .form-bar.fee-entry-grid>.field.w3{flex-basis:76px!important;width:76px!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-monthly-field{flex-basis:58px!important;width:58px!important}
  html body .program-page .form-bar.fee-entry-grid :is(input,select){min-height:28px!important;height:28px!important;padding:2px 3px!important;font-size:.64rem!important;line-height:1!important}
  html body .program-page .form-bar.fee-entry-grid>.field>span{font-size:.56rem!important;line-height:1!important;margin-bottom:1px!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-register-actions{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:54px!important;
    max-width:none!important;
    margin:0!important;
    gap:1px!important;
  }
  html body .program-page .form-bar.fee-entry-grid>.fee-register-actions>.btn{min-height:28px!important;height:28px!important;padding:2px 4px!important;font-size:.58rem!important}
}
@media (max-width:500px){
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-mode-filter{flex-basis:56px!important;width:56px!important;min-width:56px!important;max-width:56px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-year-filter{flex-basis:42px!important;width:42px!important;min-width:42px!important;max-width:42px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-week-filter,
  html body .program-page .filter-bar.game-query-inline-toolbar>.game-query-member-filter{flex-basis:52px!important;width:52px!important;min-width:52px!important;max-width:52px!important}
  html body .program-page .filter-bar.game-query-inline-toolbar :is(input,select){font-size:.58rem!important;padding-inline:2px!important}
  html body .program-page .form-bar.ledger-entry-grid :is(input,select),
  html body .program-page .form-bar.fee-entry-grid :is(input,select){font-size:.58rem!important;padding-inline:2px!important}
  html body .program-page .form-bar.ledger-entry-grid>.field>span,
  html body .program-page .form-bar.fee-entry-grid>.field>span,
  html body .program-page .filter-bar.game-query-inline-toolbar>.field>span{font-size:.52rem!important}
}


/* 7.1.82: report horizontal scrolling, ledger report right-edge actions, and compact member/game input text. Keep last. */
/* Wide report tables must retain their natural width so the result area, not the page, owns horizontal scrolling. */
html body .program-page .cumulative-report{
  width:max-content!important;
  min-width:100%!important;
}
html body .program-page .cumulative-report>.table-wrap,
html body .program-page .table-wrap:has(>.fee-report-result-table){
  width:100%!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
html body .program-page .cumulative-report>.table-wrap>.data-table{
  width:max-content!important;
  min-width:920px!important;
}
html body .program-page .table-wrap>.fee-report-result-table{
  width:max-content!important;
  min-width:960px!important;
}
/* The viewport-lock host must not suppress horizontal movement of report scroll containers. */
html body.program-wide-result-lock-screen main.program-page .capture-scroll.program-wide-result-host,
html body.program-result-lock-screen main.program-page .capture-scroll.program-primary-result-host{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
html body.program-wide-result-lock-screen main.program-page .cumulative-report.program-wide-result-host,
html body.program-result-lock-screen main.program-page .cumulative-report.program-primary-result-host{
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  overflow:visible!important;
}
/* Ledger settlement report: consume the unused center space so previous/capture sit on the right edge. */
html body .program-page .ledger-query-toolbar.settlement-filter{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:2px!important;
  width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
html body .program-page .ledger-query-toolbar.settlement-filter>.field,
html body .program-page .ledger-query-toolbar.settlement-filter>.btn,
html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-monthly-link,
html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-annual-link,
html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-back,
html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-capture{
  flex:0 0 auto!important;
  margin:0!important;
}
html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-spacer{
  display:block!important;
  flex:1 1 auto!important;
  width:auto!important;
  min-width:0!important;
  margin:0!important;
}
html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-back{margin-left:auto!important}

@media (max-width:620px){
  /* Member entry: smaller type and fixed compact controls prevent the row from growing/wrapping. */
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:1px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-phone-row-break{display:none!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-name-field{--fit-field-width:62px!important;--fit-control-width:62px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-phone-field{--fit-field-width:96px!important;--fit-control-width:96px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-grade-field{--fit-field-width:58px!important;--fit-control-width:58px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-join-field{--fit-field-width:72px!important;--fit-control-width:72px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-average-field{--fit-field-width:54px!important;--fit-control-width:54px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline :is(input,select){
    min-height:28px!important;height:28px!important;padding:2px 2px!important;font-size:.58rem!important;line-height:1!important
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.field>span{font-size:.5rem!important;line-height:1!important;margin-bottom:1px!important}
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions{
    flex:0 0 auto!important;width:auto!important;min-width:max-content!important;max-width:none!important;margin:0!important;gap:1px!important
  }
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions :is(.btn,.mini,.action-icon-button){
    min-height:28px!important;height:28px!important;padding:1px 3px!important;font-size:.54rem!important
  }

  /* Game input: use the same small-font, no-grow, single-line rule. */
  html body .program-page .form-bar.game-entry-grid{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:1px!important;
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  html body .program-page .form-bar.game-entry-grid>.field{flex:0 0 auto!important;min-width:0!important;margin:0!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(1){flex-basis:72px!important;width:72px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(2){flex-basis:64px!important;width:64px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(3){flex-basis:64px!important;width:64px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(4),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(5),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(6),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(7){flex-basis:42px!important;width:42px!important}
  html body .program-page .form-bar.game-entry-grid>.game-note-field{flex:0 0 60px!important;width:60px!important;min-width:60px!important}
  html body .program-page .form-bar.game-entry-grid :is(input,select){min-height:28px!important;height:28px!important;padding:2px!important;font-size:.58rem!important;line-height:1!important}
  html body .program-page .form-bar.game-entry-grid>.field>span{font-size:.5rem!important;line-height:1!important;margin-bottom:1px!important}
  html body .program-page .form-bar.game-entry-grid>.form-actions{flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;margin:0!important;gap:1px!important}
  html body .program-page .form-bar.game-entry-grid>.form-actions :is(.btn,.action-icon-button){min-height:28px!important;height:28px!important;padding:1px!important;font-size:.52rem!important}

  /* On narrow screens, report result tables remain horizontally pannable inside their own data region. */
  html body .program-page .cumulative-report>.table-wrap>.data-table{min-width:860px!important}
  html body .program-page .table-wrap>.fee-report-result-table{min-width:900px!important}
  html body .program-page .ledger-query-toolbar.settlement-filter{gap:1px!important}
  html body .program-page .ledger-query-toolbar.settlement-filter>.ledger-report-spacer{display:block!important;flex:1 1 auto!important}
}


/* 7.1.82: compact member-extra fields, one-line quarter report tools, and true cumulative horizontal scrolling. Keep last. */
/* Cumulative report: the outer result wrapper stays at viewport width; only the table grid owns horizontal overflow. */
html body .program-page .cumulative-report{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
html body .program-page .cumulative-report>.table-wrap.cumulative-report-grid{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:scroll!important;
  overflow-y:auto!important;
  overscroll-behavior-x:contain!important;
  touch-action:pan-x pan-y pinch-zoom!important;
  scrollbar-gutter:stable!important;
  -webkit-overflow-scrolling:touch!important;
}
html body .program-page .cumulative-report>.table-wrap.cumulative-report-grid>.data-table{
  width:max-content!important;
  min-width:920px!important;
  max-width:none!important;
}
html body.program-result-lock-screen main.program-page .cumulative-report,
html body.program-wide-result-lock-screen main.program-page .cumulative-report{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
html body.program-result-lock-screen main.program-page .cumulative-report>.cumulative-report-grid,
html body.program-wide-result-lock-screen main.program-page .cumulative-report>.cumulative-report-grid{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:scroll!important;
  overflow-y:auto!important;
}

/* Quarter report: year / quarter / query stay left, previous / capture stay on the same row at the far right. */
html body main.program-page form.quarter-report-inline-tools{
  display:grid!important;
  grid-template-columns:58px 64px 28px minmax(0,1fr)!important;
  grid-template-rows:auto!important;
  align-items:end!important;
  justify-content:stretch!important;
  column-gap:2px!important;
  row-gap:0!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-year-filter{
  grid-column:1!important;grid-row:1!important;width:58px!important;min-width:58px!important;max-width:58px!important;margin:0!important
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-quarter-filter{
  grid-column:2!important;grid-row:1!important;width:64px!important;min-width:64px!important;max-width:64px!important;margin:0!important
}
html body main.program-page form.quarter-report-inline-tools>.action-icon-button-query{
  grid-column:3!important;grid-row:1!important;justify-self:start!important;align-self:end!important;margin:0!important
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools{
  grid-column:4!important;
  grid-row:1!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  justify-self:stretch!important;
  align-self:end!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  gap:2px!important;
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools>.quarter-report-back{margin-left:auto!important}

@media (max-width:620px){
  /* Member additional-info fields use compact fixed widths; narrow screens must not enlarge their type or controls. */
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden]){
    display:flex!important;
    flex-flow:row wrap!important;
    justify-content:flex-start!important;
    align-items:flex-end!important;
    align-content:flex-start!important;
    gap:1px!important;
    width:100%!important;
    max-width:100%!important;
    margin-top:5px!important;
    overflow:visible!important;
  }
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field{
    flex-grow:0!important;
    flex-shrink:0!important;
    min-width:0!important;
    margin:0!important;
  }
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field:nth-of-type(1){--fit-field-width:54px!important;--fit-control-width:54px!important;flex-basis:54px!important;width:54px!important;min-width:54px!important;max-width:54px!important}
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field:nth-of-type(2){--fit-field-width:62px!important;--fit-control-width:62px!important;flex-basis:62px!important;width:62px!important;min-width:62px!important;max-width:62px!important}
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field:nth-of-type(3){--fit-field-width:72px!important;--fit-control-width:72px!important;flex-basis:72px!important;width:72px!important;min-width:72px!important;max-width:72px!important}
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field:nth-of-type(4){--fit-field-width:104px!important;--fit-control-width:104px!important;flex-basis:104px!important;width:104px!important;min-width:104px!important;max-width:104px!important}
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field:nth-of-type(5),
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field:nth-of-type(6){--fit-field-width:68px!important;--fit-control-width:68px!important;flex-basis:68px!important;width:68px!important;min-width:68px!important;max-width:68px!important}
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field:nth-of-type(7){--fit-field-width:94px!important;--fit-control-width:94px!important;flex-basis:94px!important;width:94px!important;min-width:94px!important;max-width:94px!important}
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field:nth-of-type(8){--fit-field-width:104px!important;--fit-control-width:104px!important;flex-basis:104px!important;width:104px!important;min-width:104px!important;max-width:104px!important}
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field:nth-of-type(9){--fit-field-width:48px!important;--fit-control-width:48px!important;flex-basis:48px!important;width:48px!important;min-width:48px!important;max-width:48px!important}
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field:nth-of-type(10){--fit-field-width:60px!important;--fit-control-width:60px!important;flex-basis:60px!important;width:60px!important;min-width:60px!important;max-width:60px!important}
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden])>label.field>span{
    margin-bottom:1px!important;
    font-size:.48rem!important;
    line-height:1!important;
    letter-spacing:-.03em!important;
    white-space:nowrap!important;
  }
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden]) :is(input,select,.date-display-input){
    min-height:27px!important;
    height:27px!important;
    padding:1px 2px!important;
    font-size:.54rem!important;
    line-height:1!important;
  }
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden]) .check{
    min-height:27px!important;
    gap:2px!important;
    font-size:.54rem!important;
    line-height:1!important;
    white-space:nowrap!important;
  }
  html body .program-page .member-editor-panel .member-extra.member-fit-inline:not([hidden]) .date-picker-button{
    width:20px!important;min-width:20px!important;padding:0!important;font-size:.58rem!important
  }
  html body main.program-page form.quarter-report-inline-tools{
    grid-template-columns:58px 64px 28px minmax(0,1fr)!important;
    gap:1px!important;
    padding:5px!important;
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools{
    min-width:0!important;
    justify-content:flex-end!important;
  }
  html body .program-page .cumulative-report>.table-wrap.cumulative-report-grid>.data-table{min-width:920px!important}
}
@media (max-width:500px){
  html body main.program-page form.quarter-report-inline-tools{grid-template-columns:54px 58px 26px minmax(0,1fr)!important}
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-year-filter{width:54px!important;min-width:54px!important;max-width:54px!important}
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-quarter-filter{width:58px!important;min-width:58px!important;max-width:58px!important}
}


/* 7.1.82: centered active-app header, right-edge account, compact mode labels, and secondary-app hamburger removal. Keep last. */
html body .site-head{
  position:sticky!important;
  display:flex!important;
  align-items:center!important;
  width:100%!important;
  min-width:0!important;
}
html body .site-head>.club-site-nav{
  position:static!important;
  display:flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  min-width:0!important;
  margin:0!important;
}
html body .site-head>.club-site-nav>.club-site-menu:not(.club-management-menu){
  position:relative!important;
  z-index:32!important;
}
/* A area: current app/menu is centered against the full header width, independent of left brand/right account widths. */
html body .site-head>.club-site-nav>.club-management-menu,
html body .site-head>.club-site-nav>.club-site-current-app{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  z-index:31!important;
  margin:0!important;
  max-width:42vw!important;
}
html body .site-head>.club-site-nav>.club-management-menu>.club-management-trigger,
html body .site-head>.club-site-nav>.club-site-current-app{
  max-width:42vw!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
/* B area: account controls always hug the right edge. */
html body .site-head>.account{
  position:absolute!important;
  right:3.2vw!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:5px!important;
  margin:0!important;
  z-index:32!important;
  white-space:nowrap!important;
}
html body.role-member .site-head>.account .account-role,
html body.role-member .site-head>.account .account-mode-form{display:none!important}
html body .site-head>.account .mode{min-width:0!important;padding-inline:7px!important}
/* APP DOWN screen does not expose the hamburger toggle. */
html body.active-event-screen .site-head>.nav-toggle{display:none!important}
@media (max-width:980px){
  html body .site-head>.account{right:10px!important;gap:3px!important;font-size:.68rem!important}
  html body .site-head>.club-site-nav>.club-management-menu,
  html body .site-head>.club-site-nav>.club-site-current-app{max-width:38vw!important}
  html body .site-head>.club-site-nav>.club-management-menu>.club-management-trigger,
  html body .site-head>.club-site-nav>.club-site-current-app{max-width:38vw!important;font-size:.72rem!important}
  html body.role-member .site-head>.account .account-identity{max-width:80px!important}
}
@media (max-width:620px){
  html body .site-head{padding-left:10px!important;padding-right:10px!important}
  html body .site-head>.account{right:8px!important;gap:2px!important;font-size:.62rem!important}
  html body .site-head>.account .mode,
  html body .site-head>.account .link-btn{min-height:21px!important;padding:1px 3px!important;font-size:.62rem!important}
  html body .site-head>.club-site-nav>.club-management-menu,
  html body .site-head>.club-site-nav>.club-site-current-app{max-width:36vw!important}
  html body .site-head>.club-site-nav>.club-management-menu>.club-management-trigger,
  html body .site-head>.club-site-nav>.club-site-current-app{max-width:36vw!important;font-size:.66rem!important;padding-right:10px!important}
}


/* 7.1.82: quarter report controls are structurally locked to one row with right-edge actions. Keep last. */
html body main.program-page form.quarter-report-inline-tools{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  align-content:flex-end!important;
  gap:2px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  padding:6px 8px!important;
  margin-bottom:8px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools{
  display:inline-flex!important;
  flex:0 0 auto!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:2px!important;
  width:auto!important;
  min-width:0!important;
  max-width:max-content!important;
  margin:0!important;
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools>.field{
  display:flex!important;
  flex:0 0 auto!important;
  flex-direction:column!important;
  justify-content:flex-end!important;
  min-width:0!important;
  margin:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools>.quarter-report-year-filter{
  flex-basis:58px!important;width:58px!important;min-width:58px!important;max-width:58px!important
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools>.quarter-report-quarter-filter{
  flex-basis:64px!important;width:64px!important;min-width:64px!important;max-width:64px!important
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools>.action-icon-button-query{
  flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;
  align-self:flex-end!important;margin:0!important;grid-column:auto!important;grid-row:auto!important
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools{
  display:inline-flex!important;
  flex:0 0 auto!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  align-self:flex-end!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  margin:0 0 0 auto!important;
  gap:2px!important;
  grid-column:auto!important;
  grid-row:auto!important;
  justify-self:auto!important;
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools>.quarter-report-back{
  flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;margin:0!important
}
html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools>.quarter-report-capture{
  flex:0 0 auto!important;width:auto!important;min-width:56px!important;max-width:none!important;margin:0!important;white-space:nowrap!important
}
@media (max-width:620px){
  html body main.program-page form.quarter-report-inline-tools{gap:1px!important;padding:5px!important}
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools{gap:1px!important}
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools>.quarter-report-year-filter{flex-basis:54px!important;width:54px!important;min-width:54px!important;max-width:54px!important}
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools>.quarter-report-quarter-filter{flex-basis:58px!important;width:58px!important;min-width:58px!important;max-width:58px!important}
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools>.action-icon-button-query{flex-basis:26px!important;width:26px!important;min-width:26px!important;max-width:26px!important}
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools{gap:1px!important}
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools>.quarter-report-capture{min-width:52px!important;padding-inline:2px!important;font-size:.58rem!important}
}


/* 7.1.82: member primary actions stay immediately beside the base-average field. Keep last. */
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  width:auto!important;
  min-width:max-content!important;
  max-width:max-content!important;
  margin:0!important;
  gap:2px!important;
}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>label.member-average-field{
  margin-right:0!important;
}
html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions :is(.action-icon-button,.mini,.btn){
  margin-left:0!important;
  margin-right:0!important;
}
@media (max-width:620px){
  html body .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:max-content!important;
    margin:0!important;
    gap:1px!important;
  }
}


/* 7.1.82: quarter-management viewport lock and invariant control widths across all screen widths. Keep last. */
html:has(body.quarter-management-page-screen){
  width:100%!important;
  height:100%!important;
  max-height:100%!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
html body.quarter-management-page-screen{
  position:fixed!important;
  inset:0!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  max-width:100%!important;
  height:100vh!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
html body.quarter-management-page-screen>.site-head{
  position:relative!important;
  top:0!important;
  flex:0 0 auto!important;
  width:100%!important;
}
html body.quarter-management-page-screen>main.quarter-management-page{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:calc(100% - 20px)!important;
  max-width:calc(100% - 20px)!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin-top:8px!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
html body.quarter-management-page-screen>main.quarter-management-page>form.quarter-toolbar{
  display:flex!important;
  flex:0 0 auto!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  align-content:flex-end!important;
  gap:2px!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  margin:0 0 8px 0!important;
  padding:6px 8px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
html body.quarter-management-page-screen>main.quarter-management-page>form.quarter-toolbar>.field{
  display:flex!important;
  flex-direction:column!important;
  flex-grow:0!important;
  flex-shrink:0!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
}
html body.quarter-management-page-screen>main.quarter-management-page>form.quarter-toolbar>.quarter-year-filter{
  --fit-field-width:64px!important;
  --fit-control-width:64px!important;
  flex-basis:64px!important;
  width:64px!important;
  min-width:64px!important;
  max-width:64px!important;
}
html body.quarter-management-page-screen>main.quarter-management-page>form.quarter-toolbar>.quarter-select-filter{
  --fit-field-width:62px!important;
  --fit-control-width:62px!important;
  flex-basis:62px!important;
  width:62px!important;
  min-width:62px!important;
  max-width:62px!important;
}
html body.quarter-management-page-screen>main.quarter-management-page>form.quarter-toolbar>.field :is(input:not([type="hidden"]),select){
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
html body.quarter-management-page-screen>main.quarter-management-page>form.quarter-toolbar>:is(.btn,.action-icon-button,[data-action-icon-button]){
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  grid-column:auto!important;
  grid-row:auto!important;
  justify-self:start!important;
}
html body.quarter-management-page-screen>main.quarter-management-page>form#quarter-adjustment-form{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding-bottom:0!important;
  overflow:hidden!important;
  overscroll-behavior:none!important;
}
html body.quarter-management-page-screen>main.quarter-management-page>form#quarter-adjustment-form>.table-wrap,
html body.quarter-management-page-screen>main.quarter-management-page>form#quarter-adjustment-form>.table-wrap.fit-viewport-grid,
html body.quarter-management-page-screen>main.quarter-management-page>form#quarter-adjustment-form>.table-wrap.program-result-grid,
html body.quarter-management-page-screen>main.quarter-management-page>form#quarter-adjustment-form>.table-wrap.program-primary-result-grid,
html body.quarter-management-page-screen>main.quarter-management-page>form#quarter-adjustment-form>.table-wrap.program-wide-result-grid{
  display:block!important;
  flex:1 1 auto!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding-bottom:0!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  -webkit-overflow-scrolling:touch!important;
}
html body.quarter-management-page-screen>main.quarter-management-page>form#quarter-adjustment-form>.table-wrap>.data-table>thead>tr>th{
  position:sticky!important;
  top:0!important;
  z-index:16!important;
  background:#dce9f8!important;
}
html body.quarter-management-page-screen>main.quarter-management-page>form#quarter-adjustment-form>.quarter-save-bar{
  flex:0 0 auto!important;
  margin:0!important;
}
html body.quarter-management-page-screen>footer{display:none!important}
@media(max-width:620px){
  html body.quarter-management-page-screen>main.quarter-management-page{
    width:100%!important;
    max-width:100%!important;
    margin-top:4px!important;
    padding-left:5px!important;
    padding-right:5px!important;
  }
  html body.quarter-management-page-screen>main.quarter-management-page>form.quarter-toolbar{
    display:flex!important;
    flex-flow:row nowrap!important;
    gap:1px!important;
    padding:5px!important;
  }
  html body.quarter-management-page-screen>main.quarter-management-page>form.quarter-toolbar>.quarter-year-filter{
    flex-basis:64px!important;width:64px!important;min-width:64px!important;max-width:64px!important
  }
  html body.quarter-management-page-screen>main.quarter-management-page>form.quarter-toolbar>.quarter-select-filter{
    flex-basis:62px!important;width:62px!important;min-width:62px!important;max-width:62px!important
  }
}


/* 7.1.82: global hamburger removal at every viewport width. Keep last. */
html body .site-head>.nav-toggle,
html body .site-head .nav-toggle{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  min-width:0!important;
  max-width:0!important;
  height:0!important;
  min-height:0!important;
  max-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}


/* 7.1.82: all visible dates use MM-DD; club join date alone uses YY-MM-DD. Keep last. */
html body .date-input-shell:not(.join-date-input-shell){min-width:0!important}
html body .join-date-input-shell{min-width:78px!important}
html body .join-date-input-shell .date-display-input{letter-spacing:-.02em!important}
@media (max-width:620px){
  html body .join-date-input-shell{min-width:72px!important}
  html body .join-date-input-shell .date-display-input{font-size:.72rem!important;padding-left:4px!important;padding-right:2px!important}
}


/* 7.1.82: 6-12 inch portrait management layout, report scrolling, compact years, and single-row controls. Keep last. */
/* Year controls should be no wider than four digits require. */
html body main.program-page label.field:has(>input[name="year"]),
html body main.program-page label.field:has(.date-input-shell>input[name="year"]){
  --fit-field-width:52px!important;
  --fit-control-width:52px!important;
  flex:0 0 52px!important;
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
}
html body main.program-page label.field:has(>input[name="year"])>input[name="year"]{
  width:52px!important;
  min-width:52px!important;
  max-width:52px!important;
  padding-left:3px!important;
  padding-right:2px!important;
  box-sizing:border-box!important;
}

@media (orientation:portrait) and (min-width:360px) and (max-width:1024px){
  /* Existing viewport-lock classes keep menus/controls fixed; reinforce result-grid touch scrolling in portrait. */
  html body:is(.program-result-lock-screen,.program-wide-result-lock-screen,.game-query-page-screen,.quarter-management-page-screen) main.program-page .table-wrap[data-fit-viewport]{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important}

  /* Game input controls: same left-aligned one-line composition from 6 to 12 inch portrait. */
  html body .program-page .form-bar.game-entry-grid{
    display:flex!important;flex-flow:row nowrap!important;align-items:flex-end!important;justify-content:flex-start!important;
    gap:1px!important;width:100%!important;max-width:100%!important;min-width:0!important;overflow-x:hidden!important;overflow-y:hidden!important
  }
  html body .program-page .form-bar.game-entry-grid>.field{flex-grow:0!important;flex-shrink:0!important;min-width:0!important;margin:0!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(1){flex-basis:72px!important;width:72px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(2){flex-basis:64px!important;width:64px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(3){flex-basis:66px!important;width:66px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(4),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(5),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(6),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(7){flex-basis:42px!important;width:42px!important}
  html body .program-page .form-bar.game-entry-grid>.game-note-field{flex:1 1 76px!important;width:auto!important;min-width:52px!important;max-width:130px!important}
  html body .program-page .form-bar.game-entry-grid>.form-actions{flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;margin:0!important;gap:1px!important}
  html body .program-page .form-bar.game-entry-grid :is(input,select){min-height:29px!important;height:29px!important;padding:2px 3px!important;font-size:.66rem!important;line-height:1!important}
  html body .program-page .form-bar.game-entry-grid>.field>span{font-size:.55rem!important;line-height:1!important;margin-bottom:1px!important;white-space:nowrap!important}

  /* Quarter report controls are always one row: left filters + right-edge back/capture. */
  html body main.program-page form.quarter-report-inline-tools{
    display:flex!important;flex-flow:row nowrap!important;align-items:flex-end!important;justify-content:flex-start!important;
    gap:1px!important;width:100%!important;max-width:100%!important;min-width:0!important;padding:5px 6px!important;overflow:hidden!important
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools{
    display:flex!important;flex:0 0 auto!important;flex-flow:row nowrap!important;align-items:flex-end!important;justify-content:flex-start!important;gap:1px!important;min-width:0!important
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools>.quarter-report-year-filter{
    flex:0 0 52px!important;width:52px!important;min-width:52px!important;max-width:52px!important
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools>.quarter-report-quarter-filter{
    flex:0 0 58px!important;width:58px!important;min-width:58px!important;max-width:58px!important
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-left-tools>.action-icon-button-query{
    flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;margin:0!important
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools{
    display:flex!important;flex:1 1 auto!important;flex-flow:row nowrap!important;align-items:flex-end!important;justify-content:flex-end!important;
    width:auto!important;min-width:0!important;max-width:none!important;margin:0 0 0 auto!important;gap:1px!important
  }
  html body main.program-page form.quarter-report-inline-tools>.quarter-report-right-tools>.quarter-report-back{margin-left:auto!important}

  /* Integration report: width stays at viewport, table region alone pans horizontally. */
  html body.game-integration-report-page-screen main.program-page .integration-responsive-report{
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important
  }
  html body.game-integration-report-page-screen main.program-page :is(.integration-desktop-grid,.integration-mobile-grid){
    width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:auto!important;overflow-y:auto!important;
    overscroll-behavior:contain!important;touch-action:pan-x pan-y pinch-zoom!important;-webkit-overflow-scrolling:touch!important
  }
  html body.game-integration-report-page-screen main.program-page .integration-desktop-grid>.data-table{width:max-content!important;min-width:1120px!important;max-width:none!important}
  html body.game-integration-report-page-screen main.program-page .integration-mobile-grid>.data-table{width:max-content!important;min-width:860px!important;max-width:none!important}

  /* Cumulative and fee reports: the data grid owns both axes, never the page/capture host. */
  html body.game-cumulative-report-page-screen main.program-page .cumulative-report,
  html body.fee-report-page-screen main.program-page .capture-area{
    width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important
  }
  html body.game-cumulative-report-page-screen main.program-page .cumulative-report>.cumulative-report-grid,
  html body.fee-report-page-screen main.program-page .table-wrap:has(>.fee-report-result-table){
    display:block!important;width:100%!important;min-width:0!important;max-width:100%!important;flex:1 1 auto!important;
    overflow-x:auto!important;overflow-y:auto!important;overscroll-behavior:contain!important;touch-action:pan-x pan-y pinch-zoom!important;
    scrollbar-gutter:stable!important;-webkit-overflow-scrolling:touch!important
  }
  html body.game-cumulative-report-page-screen main.program-page .cumulative-report>.cumulative-report-grid>.data-table{width:max-content!important;min-width:920px!important;max-width:none!important}
  html body.fee-report-page-screen main.program-page .table-wrap>.fee-report-result-table{width:max-content!important;min-width:960px!important;max-width:none!important}
  html body:is(.game-integration-report-page-screen,.game-cumulative-report-page-screen,.fee-report-page-screen) main.program-page .capture-scroll{
    width:100%!important;min-width:0!important;max-width:100%!important;overflow:hidden!important
  }

  /* Compact all year fields in portrait while preserving four visible digits. */
  html body main.program-page label.field:has(>input[name="year"]){--fit-field-width:50px!important;--fit-control-width:50px!important;flex-basis:50px!important;width:50px!important;min-width:50px!important;max-width:50px!important}
  html body main.program-page label.field:has(>input[name="year"])>input[name="year"]{width:50px!important;min-width:50px!important;max-width:50px!important;font-size:.68rem!important;padding-inline:2px!important}
}

@media (orientation:portrait) and (min-width:360px) and (max-width:520px){
  /* 6-inch class portrait: shrink type/controls rather than wrapping the game-input row. */
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(1){flex-basis:52px!important;width:52px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(2){flex-basis:48px!important;width:48px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(3){flex-basis:52px!important;width:52px!important}
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(4),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(5),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(6),
  html body .program-page .form-bar.game-entry-grid>.field:nth-of-type(7){flex-basis:30px!important;width:30px!important}
  html body .program-page .form-bar.game-entry-grid>.game-note-field{flex:1 1 36px!important;min-width:32px!important;max-width:48px!important}
  html body .program-page .form-bar.game-entry-grid>.form-actions{flex-basis:22px!important;width:22px!important;min-width:22px!important;max-width:22px!important}
  html body .program-page .form-bar.game-entry-grid :is(input,select){min-height:27px!important;height:27px!important;padding:1px!important;font-size:.52rem!important;letter-spacing:-.03em!important}
  html body .program-page .form-bar.game-entry-grid>.field>span{font-size:.45rem!important;letter-spacing:-.04em!important}
  html body .program-page .form-bar.game-entry-grid>.form-actions :is(.btn,.action-icon-button){width:22px!important;min-width:22px!important;max-width:22px!important;height:27px!important;min-height:27px!important;padding:0!important}
}


/* 7.1.82: force real horizontal overflow for game integration/cumulative reports on 6-12 inch portrait screens. Keep last. */
@media (orientation:portrait) and (min-width:360px) and (max-width:1024px){
  html body:is(.game-integration-report-page-screen,.game-cumulative-report-page-screen){
    overflow-x:hidden!important;
  }
  html body:is(.game-integration-report-page-screen,.game-cumulative-report-page-screen) main.program-page,
  html body:is(.game-integration-report-page-screen,.game-cumulative-report-page-screen) main.program-page .game-report-result,
  html body:is(.game-integration-report-page-screen,.game-cumulative-report-page-screen) main.program-page .capture-scroll,
  html body:is(.game-integration-report-page-screen,.game-cumulative-report-page-screen) main.program-page .capture-area,
  html body.game-integration-report-page-screen main.program-page .integration-responsive-report,
  html body.game-cumulative-report-page-screen main.program-page .cumulative-report{
    min-width:0!important;
    max-width:100%!important;
    width:100%!important;
    overflow-x:hidden!important;
  }
  html body.game-integration-report-page-screen main.program-page .table-wrap.integration-desktop-grid,
  html body.game-integration-report-page-screen main.program-page .table-wrap.integration-mobile-grid,
  html body.game-cumulative-report-page-screen main.program-page .table-wrap.cumulative-report-grid{
    display:block!important;
    box-sizing:border-box!important;
    inline-size:100%!important;
    width:100%!important;
    min-inline-size:0!important;
    min-width:0!important;
    max-inline-size:100%!important;
    max-width:100%!important;
    overflow-x:scroll!important;
    overflow-y:auto!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:contain!important;
    touch-action:pan-x pan-y!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-gutter:stable both-edges!important;
    contain:layout paint!important;
  }
  /* Keep every 13-column integration table wider than even a 12-inch portrait viewport. */
  html body.game-integration-report-page-screen main.program-page .integration-desktop-grid>.data-table{
    display:table!important;
    table-layout:auto!important;
    width:1280px!important;
    min-width:1280px!important;
    max-width:none!important;
    white-space:nowrap!important;
  }
  html body.game-integration-report-page-screen main.program-page .integration-mobile-grid>.data-table{
    display:table!important;
    table-layout:auto!important;
    width:1180px!important;
    min-width:1180px!important;
    max-width:none!important;
    white-space:nowrap!important;
  }
  /* Cumulative report always keeps enough width for member/average plus weekly score groups. */
  html body.game-cumulative-report-page-screen main.program-page .cumulative-report-grid>.data-table{
    display:table!important;
    table-layout:auto!important;
    width:1120px!important;
    min-width:1120px!important;
    max-width:none!important;
    white-space:nowrap!important;
  }
  html body:is(.game-integration-report-page-screen,.game-cumulative-report-page-screen).program-wide-result-lock-screen main.program-page .program-wide-result-host{
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
  }
  html body:is(.game-integration-report-page-screen,.game-cumulative-report-page-screen).program-wide-result-lock-screen main.program-page .program-wide-result-grid{
    overflow-x:scroll!important;
    touch-action:pan-x pan-y!important;
  }
}


/* 7.1.82: calligraphy headline, single integration table on portrait devices, and phone query two-row alignment. Keep last. */
html body .brand{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}
html body .brand>.brand-mark{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  font-size:.95em!important;
}
html body .brand>.brand-title{
  display:inline-block!important;
  font-family:"Nanum Brush Script","Nanum Pen Script","Hahmlet","Gungseo","AppleMyungjo",serif!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
  line-height:1!important;
}

/* Show only one integration report table at a time so 12.4-inch portrait and phones do not duplicate the result area. */
html body.game-integration-report-page-screen main.program-page .integration-responsive-report>.integration-desktop-grid{display:block!important}
html body.game-integration-report-page-screen main.program-page .integration-responsive-report>.integration-mobile-grid{display:none!important}
@media (max-width:1024px) and (orientation:portrait){
  html body.game-integration-report-page-screen main.program-page .integration-responsive-report>.integration-desktop-grid{display:none!important}
  html body.game-integration-report-page-screen main.program-page .integration-responsive-report>.integration-mobile-grid{display:block!important}
}

/* Phone portrait game-query toolbar: two-row, left-aligned fields, bulk tools pinned to the right edge. */
@media (max-width:620px) and (orientation:portrait){
  html body.game-query-page-screen .program-page .game-query-top-strip{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:
      "left right"
      "center right"!important;
    align-items:start!important;
    justify-items:stretch!important;
    column-gap:4px!important;
    row-gap:3px!important;
    width:100%!important;
  }
  html body.game-query-page-screen .program-page .game-query-top-strip-left{
    grid-area:left!important;
    align-self:start!important;
    justify-self:start!important;
    min-width:0!important;
  }
  html body.game-query-page-screen .program-page .game-query-top-strip-center{
    grid-area:center!important;
    align-self:start!important;
    justify-self:start!important;
    width:100%!important;
    min-width:0!important;
  }
  html body.game-query-page-screen .program-page .game-query-top-strip-right{
    grid-area:right!important;
    display:flex!important;
    align-items:flex-start!important;
    justify-content:flex-end!important;
    align-self:start!important;
    justify-self:end!important;
    min-width:max-content!important;
    margin:0 0 0 auto!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar{
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    align-content:flex-start!important;
    width:100%!important;
    gap:2px!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.btn,
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.action-icon-button,
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-report,
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-member-filter,
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-week-filter,
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-mode-filter,
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-year-filter{
    margin:0!important;
  }
}


/* 7.1.82: normalize all management result areas and capture rendering across phone/tablet/PC. Keep last. */
html body .program-page .capture-scroll.program-report-surface,
html body .program-page .capture-scroll{
  width:100%!important;
  max-width:100%!important;
  background:#fff!important;
  border:1px solid var(--line)!important;
  border-radius:7px!important;
  overflow:auto!important;
  box-sizing:border-box!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture,
html body .program-page .capture-scroll>.capture-area{
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  background:#fff!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  margin:0!important;
  padding:18px 22px!important;
  box-sizing:border-box!important;
}
html body .program-page .capture-scroll>.capture-area .table-wrap,
html body .program-page .capture-scroll>.capture-area .capture-scroll,
html body .program-page .input-result-panel .table-wrap,
html body .program-page .panel .table-wrap[data-fit-viewport]{
  width:100%!important;
  max-width:100%!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:stable both-edges!important;
}
html body .program-page .capture-scroll>.capture-area .data-table,
html body .program-page .input-result-panel .table-wrap>.data-table,
html body .program-page .panel .table-wrap[data-fit-viewport]>.data-table{
  width:max-content!important;
  min-width:100%!important;
}
html body .program-page .capture-area.capture-rendering,
html body .program-page .capture-scroll>.capture-area.capture-rendering{
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  padding:10px 12px!important;
}
html body .program-page .capture-area.capture-rendering .table-wrap,
html body .program-page .capture-area.capture-rendering .capture-scroll{
  overflow:visible!important;
  max-height:none!important;
  height:auto!important;
}
@media (max-width:1024px){
  html body .program-page .capture-scroll>.capture-area{
    padding:14px 16px!important;
  }
}
@media (max-width:620px){
  html body .program-page .capture-scroll>.capture-area{
    padding:10px 12px!important;
  }
}


/* 7.1.82: stretch management result areas to device width while keeping content fully visible. Keep last. */
html body main.page.program-page,
html body main.page.wide.program-page,
html body .page.program-page,
html body .page.wide.program-page{
  width:min(1920px,calc(100vw - 8px))!important;
  max-width:calc(100vw - 8px)!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
html body .program-page>.panel,
html body .program-page>.input-result-panel,
html body .program-page>.capture-scroll,
html body .program-page>.program-wide-result-host,
html body .program-page>.program-primary-result-host{
  width:100%!important;
  max-width:100%!important;
}
html body .program-page .capture-scroll.program-report-surface,
html body .program-page .input-result-panel,
html body .program-page .panel:has(.table-wrap[data-fit-viewport]),
html body .program-page .panel:has(.capture-scroll){
  width:100%!important;
  max-width:100%!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture,
html body .program-page .capture-scroll>.capture-area{
  min-width:100%!important;
}
@media (max-width:1024px){
  html body main.page.program-page,
  html body main.page.wide.program-page,
  html body .page.program-page,
  html body .page.wide.program-page{
    width:calc(100vw - 6px)!important;
    max-width:calc(100vw - 6px)!important;
  }
}
@media (max-width:620px){
  html body main.page.program-page,
  html body main.page.wide.program-page,
  html body .page.program-page,
  html body .page.wide.program-page{
    width:calc(100vw - 4px)!important;
    max-width:calc(100vw - 4px)!important;
  }
}


/* 7.1.82: targeted regression fix only — report horizontal scroll, equal game-entry control heights, and tall integration result. Keep last. */
/* Do not change toolbar/icon/tab placement. Restore a viewport-width host and a truly wider inner table only on the three affected reports. */
html body:is(.game-integration-report-page-screen,.game-cumulative-report-page-screen,.fee-report-page-screen) main.program-page .capture-scroll.program-report-surface{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
html body:is(.game-integration-report-page-screen,.game-cumulative-report-page-screen,.fee-report-page-screen) main.program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
html body.game-integration-report-page-screen main.program-page .integration-responsive-report,
html body.game-cumulative-report-page-screen main.program-page .cumulative-report{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
}
html body.game-integration-report-page-screen main.program-page :is(.integration-desktop-grid,.integration-mobile-grid),
html body.game-cumulative-report-page-screen main.program-page .cumulative-report-grid,
html body.fee-report-page-screen main.program-page .table-wrap:has(>.fee-report-result-table){
  display:block!important;
  box-sizing:border-box!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:contain!important;
  touch-action:pan-x pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:stable!important;
}
html body.game-integration-report-page-screen main.program-page .integration-desktop-grid>.data-table{
  display:table!important;
  table-layout:auto!important;
  width:1280px!important;
  min-width:1280px!important;
  max-width:none!important;
  white-space:nowrap!important;
}
html body.game-integration-report-page-screen main.program-page .integration-mobile-grid>.data-table{
  display:table!important;
  table-layout:auto!important;
  width:1180px!important;
  min-width:1180px!important;
  max-width:none!important;
  white-space:nowrap!important;
}
html body.game-cumulative-report-page-screen main.program-page .cumulative-report-grid>.data-table{
  display:table!important;
  table-layout:auto!important;
  width:1120px!important;
  min-width:1120px!important;
  max-width:none!important;
  white-space:nowrap!important;
}
html body.fee-report-page-screen main.program-page .table-wrap>.fee-report-result-table{
  display:table!important;
  table-layout:auto!important;
  width:1040px!important;
  min-width:1040px!important;
  max-width:none!important;
  white-space:nowrap!important;
}

/* Integration report is intentionally tall/portrait-like: show every row vertically and keep only horizontal panning in the table region. */
html body.game-integration-report-page-screen{
  overflow-y:auto!important;
}
html body.game-integration-report-page-screen main.program-page{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
}
html body.game-integration-report-page-screen main.program-page :is(.game-report-result,.capture-scroll.program-report-surface,.capture-area.program-report-capture,.integration-responsive-report){
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
html body.game-integration-report-page-screen main.program-page .table-wrap.fit-viewport-grid:is(.integration-desktop-grid,.integration-mobile-grid){
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
}

/* Game-entry widths/positions stay untouched; only force every visible control to the exact same block height as the member selector. */
html body .program-page .form-bar.game-entry-grid>.field :is(input,select){
  box-sizing:border-box!important;
  height:34px!important;
  min-height:34px!important;
  max-height:34px!important;
}
@media (orientation:portrait) and (min-width:360px) and (max-width:1024px){
  html body .program-page .form-bar.game-entry-grid>.field :is(input,select){
    height:29px!important;
    min-height:29px!important;
    max-height:29px!important;
  }
}
@media (orientation:portrait) and (min-width:360px) and (max-width:520px){
  html body .program-page .form-bar.game-entry-grid>.field :is(input,select){
    height:27px!important;
    min-height:27px!important;
    max-height:27px!important;
  }
}


/* 7.1.82: phone member-entry two rows, full-width report results, full-report capture, and locker horizontal scroll. Keep last. */
/* Report result surfaces stay centered and use the full available device width with only the existing minimal page margin. */
html body .program-page .capture-scroll.program-report-surface{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture{
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Locker management/report tables must own real horizontal overflow instead of shrinking into the viewport. */
html body .program-page .table-wrap.locker-result-grid{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  overscroll-behavior-x:contain!important;
  touch-action:pan-x pan-y pinch-zoom!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:stable!important;
}
html body .program-page .table-wrap.locker-result-grid>.data-table.locker-result-table{
  display:table!important;
  table-layout:auto!important;
  width:max-content!important;
  min-width:980px!important;
  max-width:none!important;
  white-space:nowrap!important;
}

/* Phone only: member-management main input fields use exactly two wrapped rows.
   Existing field widths, action order, icons and command positions are not otherwise changed. */
@media (max-width:620px){
  html body.member-management-page-screen .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline{
    display:flex!important;
    flex-flow:row wrap!important;
    align-items:flex-end!important;
    align-content:flex-start!important;
    justify-content:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    gap:1px!important;
    overflow:visible!important;
  }
  html body.member-management-page-screen .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-phone-row-break{
    display:block!important;
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
  }
  html body.member-management-page-screen .program-page .member-editor-panel .member-entry-stack>.member-entry-main-row.member-fit-inline>.member-primary-actions{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:max-content!important;
    max-width:none!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}


/* 7.1.93: screen-only report result width maximization; capture rules remain unchanged. Keep last. */
/* The report command/filter toolbar is deliberately not selected here. Only the visible result surface is normalized. */
html body .program-page .capture-scroll.program-report-surface{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture:not(.capture-rendering){
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:clamp(4px,.5vw,8px)!important;
  padding-right:clamp(4px,.5vw,8px)!important;
  box-sizing:border-box!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture:not(.capture-rendering)>:is(.table-wrap,.integration-responsive-report,.cumulative-report,.contact-report,.summary,.split),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture:not(.capture-rendering) :is(.table-wrap,.integration-responsive-report,.cumulative-report,.contact-report){
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
/* Phone/tablet portrait and landscape use the same near-edge result spacing. */
@media (max-width:1024px){
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture:not(.capture-rendering){
    padding-left:4px!important;
    padding-right:4px!important;
  }
}
@media (max-width:620px){
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture:not(.capture-rendering){
    padding-left:3px!important;
    padding-right:3px!important;
  }
}

/* 7.1.84: tighten inter-column gaps for integration/cumulative/fee/locker reports and captured images.
   Only the report result tables are compacted; icons, filters, command tabs, alignment and capture rules stay unchanged. */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table){
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:auto!important;
  width:max-content!important;
  max-width:none!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>thead>tr>th,
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>tbody>tr>td{
  padding:4px 3px!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture.capture-rendering :is(.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>thead>tr>th,
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture.capture-rendering :is(.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>tbody>tr>td{
  padding:3px 2px!important;
}

/* Integration average report: keep the requested column order and pull every column in close to its content width. */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-desktop-grid>.integration-desktop-table{
  min-width:0!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-desktop-grid>.integration-desktop-table :is(th,td):nth-child(1){width:44px!important;min-width:44px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-desktop-grid>.integration-desktop-table :is(th,td):nth-child(2){width:118px!important;min-width:118px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-desktop-grid>.integration-desktop-table :is(th,td):is(:nth-child(3),:nth-child(6),:nth-child(8),:nth-child(10),:nth-child(12)){width:82px!important;min-width:82px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-desktop-grid>.integration-desktop-table :is(th,td):is(:nth-child(4),:nth-child(5),:nth-child(7),:nth-child(9),:nth-child(11),:nth-child(13)){width:60px!important;min-width:60px!important}

html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-mobile-grid>.integration-mobile-table{
  min-width:0!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-mobile-grid>.integration-mobile-table :is(th,td):nth-child(1){width:108px!important;min-width:108px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-mobile-grid>.integration-mobile-table :is(th,td):is(:nth-child(2),:nth-child(4),:nth-child(6),:nth-child(8),:nth-child(10)){width:76px!important;min-width:76px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-mobile-grid>.integration-mobile-table :is(th,td):is(:nth-child(3),:nth-child(5),:nth-child(7),:nth-child(9),:nth-child(11)){width:58px!important;min-width:58px!important}

/* Cumulative report: weekly columns keep horizontal scroll, but the unused side gap is reduced. */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table{min-width:0!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table :is(th,td):nth-child(1){width:44px!important;min-width:44px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table :is(th,td):nth-child(2){width:122px!important;min-width:122px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table :is(th,td):nth-child(3),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table :is(th,td):nth-child(4){width:72px!important;min-width:72px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table :is(th,td):nth-child(n+5){width:170px!important;min-width:170px!important}

/* Membership-fee report: shrink month/result columns but keep readability. */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table{min-width:0!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table :is(th,td):nth-child(1){width:42px!important;min-width:42px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table :is(th,td):nth-child(2){width:86px!important;min-width:86px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table :is(th,td):nth-child(3){width:66px!important;min-width:66px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table :is(th,td):nth-child(n+4):nth-last-child(n+2){width:58px!important;min-width:58px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table :is(th,td):last-child{width:82px!important;min-width:82px!important}

/* Locker usage report: pull the phone/date columns in so the result stays visually compact on every device. */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table{min-width:0!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(1){width:42px!important;min-width:42px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(2){width:90px!important;min-width:90px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(3){width:52px!important;min-width:52px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(4){width:126px!important;min-width:126px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(5){width:78px!important;min-width:78px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(6),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(7){width:88px!important;min-width:88px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(8),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(9),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(10){width:72px!important;min-width:72px!important}

@media (max-width:1024px){
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>thead>tr>th,
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>tbody>tr>td{padding:4px 2px!important}
}
@media (max-width:620px){
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>thead>tr>th,
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>tbody>tr>td{padding:3px 2px!important}
}

/* 7.1.84: remove the red-marked inter-field blank space across common report screens,
   rebalance fee-report edge columns, and stabilize annual settlement category labels. */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.ranking-report-table,.quarter-report-table,.monthly-settlement-table,.annual-monthly-table,.annual-category-table,.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table){
  border-collapse:separate!important;
  border-spacing:0!important;
  table-layout:auto!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.ranking-report-table,.quarter-report-table,.monthly-settlement-table,.annual-monthly-table,.annual-category-table,.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>thead>tr>th,
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.ranking-report-table,.quarter-report-table,.monthly-settlement-table,.annual-monthly-table,.annual-category-table,.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>tbody>tr>td{
  padding:4px 2px!important;
}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture.capture-rendering :is(.ranking-report-table,.quarter-report-table,.monthly-settlement-table,.annual-monthly-table,.annual-category-table,.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>thead>tr>th,
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture.capture-rendering :is(.ranking-report-table,.quarter-report-table,.monthly-settlement-table,.annual-monthly-table,.annual-category-table,.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>tbody>tr>td{
  padding:3px 2px!important;
}

/* Ranking report */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .ranking-report-grid>.ranking-report-table :is(th,td):nth-child(1){width:40px!important;min-width:40px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .ranking-report-grid>.ranking-report-table :is(th,td):nth-child(2){width:122px!important;min-width:122px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .ranking-report-grid>.ranking-report-table :is(th,td):nth-child(3){width:82px!important;min-width:82px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .ranking-report-grid>.ranking-report-table :is(th,td):nth-child(4){width:62px!important;min-width:62px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .ranking-report-grid>.ranking-report-table :is(th,td):nth-child(5),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .ranking-report-grid>.ranking-report-table :is(th,td):nth-child(6),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .ranking-report-grid>.ranking-report-table :is(th,td):nth-child(7){width:76px!important;min-width:76px!important}

/* Integration and cumulative reports */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-desktop-grid>.integration-desktop-table :is(th,td):nth-child(1){width:38px!important;min-width:38px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-desktop-grid>.integration-desktop-table :is(th,td):nth-child(2){width:108px!important;min-width:108px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-desktop-grid>.integration-desktop-table :is(th,td):is(:nth-child(3),:nth-child(6),:nth-child(8),:nth-child(10),:nth-child(12)){width:74px!important;min-width:74px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-desktop-grid>.integration-desktop-table :is(th,td):is(:nth-child(4),:nth-child(5),:nth-child(7),:nth-child(9),:nth-child(11),:nth-child(13)){width:52px!important;min-width:52px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-mobile-grid>.integration-mobile-table :is(th,td):nth-child(1){width:102px!important;min-width:102px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-mobile-grid>.integration-mobile-table :is(th,td):is(:nth-child(2),:nth-child(4),:nth-child(6),:nth-child(8),:nth-child(10)){width:70px!important;min-width:70px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .integration-mobile-grid>.integration-mobile-table :is(th,td):is(:nth-child(3),:nth-child(5),:nth-child(7),:nth-child(9),:nth-child(11)){width:52px!important;min-width:52px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table :is(th,td):nth-child(1){width:40px!important;min-width:40px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table :is(th,td):nth-child(2){width:112px!important;min-width:112px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table :is(th,td):nth-child(3),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table :is(th,td):nth-child(4){width:64px!important;min-width:64px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table :is(th,td):nth-child(n+5){width:154px!important;min-width:154px!important}

/* Fee report: narrow left sequence gap and give that space to the right total amount column. */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table :is(th,td):nth-child(1){width:36px!important;min-width:36px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table :is(th,td):nth-child(2){width:82px!important;min-width:82px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table :is(th,td):nth-child(3){width:62px!important;min-width:62px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table :is(th,td):nth-child(n+4):nth-last-child(n+2){width:54px!important;min-width:54px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap>.fee-report-result-table :is(th,td):last-child{width:96px!important;min-width:96px!important}

/* Locker report */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(1){width:38px!important;min-width:38px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(2){width:84px!important;min-width:84px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(3){width:48px!important;min-width:48px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(4){width:118px!important;min-width:118px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(5){width:68px!important;min-width:68px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(6),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(7){width:82px!important;min-width:82px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(8),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(9),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .table-wrap.locker-result-grid>.data-table.locker-result-table :is(th,td):nth-child(10){width:68px!important;min-width:68px!important}

/* Quarter base-average report */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .quarter-report-grid>.quarter-report-table :is(th,td):nth-child(1){width:40px!important;min-width:40px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .quarter-report-grid>.quarter-report-table :is(th,td):nth-child(2){width:96px!important;min-width:96px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .quarter-report-grid>.quarter-report-table :is(th,td):nth-child(3){width:84px!important;min-width:84px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .quarter-report-grid>.quarter-report-table :is(th,td):nth-child(4),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .quarter-report-grid>.quarter-report-table :is(th,td):nth-child(5),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .quarter-report-grid>.quarter-report-table :is(th,td):nth-child(6){width:74px!important;min-width:74px!important}

/* Monthly settlement */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .monthly-settlement-grid>.monthly-settlement-table :is(th,td):nth-child(1){width:38px!important;min-width:38px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .monthly-settlement-grid>.monthly-settlement-table :is(th,td):nth-child(2){width:66px!important;min-width:66px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .monthly-settlement-grid>.monthly-settlement-table :is(th,td):nth-child(3){width:54px!important;min-width:54px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .monthly-settlement-grid>.monthly-settlement-table :is(th,td):nth-child(4){width:86px!important;min-width:86px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .monthly-settlement-grid>.monthly-settlement-table :is(th,td):nth-child(5){width:94px!important;min-width:94px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .monthly-settlement-grid>.monthly-settlement-table :is(th,td):nth-child(6){min-width:420px!important}

/* Annual settlement */
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-monthly-grid>.annual-monthly-table :is(th,td):nth-child(1){width:48px!important;min-width:48px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-monthly-grid>.annual-monthly-table :is(th,td):nth-child(2),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-monthly-grid>.annual-monthly-table :is(th,td):nth-child(3),
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-monthly-grid>.annual-monthly-table :is(th,td):nth-child(4){width:112px!important;min-width:112px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-category-table .annual-type-cell,
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-category-table .annual-major-cell{vertical-align:middle!important;font-weight:900!important;text-align:center!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-category-table .annual-major-cell{background:#f5f9ff!important;color:#1f4b84!important}

@media (max-width:1024px){
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.ranking-report-table,.quarter-report-table,.monthly-settlement-table,.annual-monthly-table,.annual-category-table,.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>thead>tr>th,
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.ranking-report-table,.quarter-report-table,.monthly-settlement-table,.annual-monthly-table,.annual-category-table,.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>tbody>tr>td{padding:4px 2px!important}
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .monthly-settlement-grid>.monthly-settlement-table :is(th,td):nth-child(6){min-width:300px!important}
}
@media (max-width:620px){
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.ranking-report-table,.quarter-report-table,.monthly-settlement-table,.annual-monthly-table,.annual-category-table,.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>thead>tr>th,
  html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture :is(.ranking-report-table,.quarter-report-table,.monthly-settlement-table,.annual-monthly-table,.annual-category-table,.integration-desktop-table,.integration-mobile-table,.fee-report-result-table,.locker-result-table,.cumulative-report-grid>.data-table)>tbody>tr>td{padding:3px 2px!important}
}


html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-category-table .annual-type-cell{width:62px!important;min-width:62px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-category-table .annual-major-cell{width:168px!important;min-width:168px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-category-table .annual-middle-cell{width:156px!important;min-width:156px!important}
html body .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture .annual-category-table .annual-amount-cell{width:108px!important;min-width:108px!important}

/* 7.1.93: hard compact report tables from the actual report-capture root.
   This final rule fixes 7.1.84 where generic full-width table rules and capture-clone sizing re-expanded columns. */
html body .program-page #report-capture.program-report-capture .report-tight-grid{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  text-align:left!important;
  box-sizing:border-box!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
html body .program-page #report-capture.program-report-capture .report-tight-grid>.data-table.report-tight-table{
  display:inline-table!important;
  table-layout:auto!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  white-space:nowrap!important;
}
html body .program-page #report-capture.program-report-capture .report-tight-grid>.data-table.report-tight-table>thead>tr>th,
html body .program-page #report-capture.program-report-capture .report-tight-grid>.data-table.report-tight-table>tbody>tr>td{
  width:1px!important;
  min-width:0!important;
  max-width:none!important;
  padding-left:4px!important;
  padding-right:4px!important;
  white-space:nowrap!important;
}
/* The same compact geometry must survive the html2canvas clone. */
html body .program-page #report-capture.program-report-capture.capture-rendering .report-tight-grid>.data-table.report-tight-table{
  display:inline-table!important;
  table-layout:auto!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
}
html body .program-page #report-capture.program-report-capture.capture-rendering .report-tight-grid>.data-table.report-tight-table>thead>tr>th,
html body .program-page #report-capture.program-report-capture.capture-rendering .report-tight-grid>.data-table.report-tight-table>tbody>tr>td{
  width:1px!important;
  min-width:0!important;
  max-width:none!important;
  padding-left:3px!important;
  padding-right:3px!important;
  white-space:nowrap!important;
}
/* Fee report: remove the spare space at the far-left sequence column and move a small breathing space to total amount at the right. */
html body .program-page #report-capture.program-report-capture .fee-report-result-grid>.fee-report-result-table.report-tight-table :is(th,td):first-child{
  padding-left:2px!important;
  padding-right:2px!important;
}
html body .program-page #report-capture.program-report-capture .fee-report-result-grid>.fee-report-result-table.report-tight-table :is(th,td):last-child{
  padding-left:5px!important;
  padding-right:10px!important;
}
/* Annual settlement: render the group labels at the beginning of each group, never inside a tall rowspan center that html2canvas can miss. */
html body .program-page #report-capture.program-report-capture .annual-category-grid>.annual-category-table.report-tight-table .annual-type-cell,
html body .program-page #report-capture.program-report-capture .annual-category-grid>.annual-category-table.report-tight-table .annual-major-cell{
  vertical-align:top!important;
  text-align:center!important;
  font-weight:900!important;
  padding-top:5px!important;
}
@media (max-width:1024px){
  html body .program-page #report-capture.program-report-capture .report-tight-grid>.data-table.report-tight-table>thead>tr>th,
  html body .program-page #report-capture.program-report-capture .report-tight-grid>.data-table.report-tight-table>tbody>tr>td{
    padding-left:3px!important;
    padding-right:3px!important;
  }
}
@media (max-width:620px){
  html body .program-page #report-capture.program-report-capture .report-tight-grid>.data-table.report-tight-table>thead>tr>th,
  html body .program-page #report-capture.program-report-capture .report-tight-grid>.data-table.report-tight-table>tbody>tr>td{
    padding-left:2px!important;
    padding-right:2px!important;
  }
}

/* 7.1.93: report capture surfaces must shrink to real content, remove right-side blank space,
   and keep cumulative / integration outputs fully visible. Keep absolutely last. */
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen,.quarter-report-page-screen,.fee-report-page-screen,.locker-report-page-screen,.game-integration-report-page-screen,.game-cumulative-report-page-screen) .program-page .capture-scroll.program-report-surface{
  display:block!important;
  width:max-content!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  box-sizing:border-box!important;
}
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen,.quarter-report-page-screen,.fee-report-page-screen,.locker-report-page-screen,.game-integration-report-page-screen,.game-cumulative-report-page-screen) .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture:not(.capture-rendering){
  display:inline-block!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:6px!important;
  padding-right:6px!important;
  box-sizing:border-box!important;
}
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen,.quarter-report-page-screen,.fee-report-page-screen,.locker-report-page-screen,.game-integration-report-page-screen,.game-cumulative-report-page-screen) .program-page .capture-scroll.program-report-surface>.capture-area.program-report-capture.capture-rendering{
  display:inline-block!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  box-sizing:border-box!important;
}

/* Summary-card reports: card row is intentionally reduced to about two-thirds width,
   and the result grids align to the same right edge. */
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) .program-page .capture-area.program-report-capture :is(.ranking-report-shell,.monthly-report-shell,.annual-report-shell){
  width:760px!important;
  min-width:760px!important;
  max-width:760px!important;
  box-sizing:border-box!important;
}
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) .program-page .capture-area.program-report-capture :is(.ranking-report-shell,.monthly-report-shell,.annual-report-shell)>.summary{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  gap:8px!important;
  margin-bottom:10px!important;
}
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) .program-page .capture-area.program-report-capture :is(.ranking-report-shell,.monthly-report-shell,.annual-report-shell)>.summary>.summary-card{
  flex:1 1 0!important;
  min-width:0!important;
}
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) .program-page .capture-area.program-report-capture :is(.ranking-report-grid,.monthly-settlement-grid,.annual-monthly-grid,.annual-category-grid){
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  overflow:visible!important;
}
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) .program-page .capture-area.program-report-capture :is(.ranking-report-grid,.monthly-settlement-grid,.annual-monthly-grid,.annual-category-grid)>.data-table.report-tight-table{
  display:table!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  table-layout:auto!important;
}
html body.ledger-annual-report-page-screen .program-page .capture-area.program-report-capture .annual-report-split{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)!important;
  gap:10px!important;
}
html body.ledger-annual-report-page-screen .program-page .capture-area.program-report-capture .annual-report-split>section{
  min-width:0!important;
}

/* Pure table reports: shrink-wrap to the actual table width so the capture JPG has no spare right area. */
html body:is(.quarter-report-page-screen,.fee-report-page-screen,.locker-report-page-screen,.game-integration-report-page-screen,.game-cumulative-report-page-screen) .program-page .capture-area.program-report-capture :is(.quarter-report-grid,.fee-report-result-grid,.locker-result-grid,.integration-desktop-grid,.cumulative-report-grid){
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
}
html body:is(.quarter-report-page-screen,.fee-report-page-screen,.locker-report-page-screen,.game-integration-report-page-screen,.game-cumulative-report-page-screen) .program-page .capture-area.program-report-capture :is(.quarter-report-grid,.fee-report-result-grid,.locker-result-grid,.integration-desktop-grid,.cumulative-report-grid)>.data-table{
  display:inline-table!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  table-layout:auto!important;
}

/* Integration report: output only one report table in the final report area to prevent duplicates. */
html body.game-integration-report-page-screen .program-page .capture-area.program-report-capture .integration-responsive-report>.table-wrap:not(:first-child){
  display:none!important;
}

/* Cumulative report: never clip the last week column. */
html body.game-cumulative-report-page-screen .program-page .capture-area.program-report-capture .cumulative-report,
html body.game-cumulative-report-page-screen .program-page .capture-area.program-report-capture .cumulative-report>.cumulative-report-grid,
html body.game-cumulative-report-page-screen .program-page .capture-area.program-report-capture .cumulative-report>.cumulative-report-grid>.data-table{
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
}

@media (max-width:820px){
  html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) .program-page .capture-area.program-report-capture :is(.ranking-report-shell,.monthly-report-shell,.annual-report-shell){
    width:700px!important;
    min-width:700px!important;
    max-width:700px!important;
  }
}
@media (max-width:720px){
  html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) .program-page .capture-area.program-report-capture :is(.ranking-report-shell,.monthly-report-shell,.annual-report-shell){
    width:660px!important;
    min-width:660px!important;
    max-width:660px!important;
  }
}

/* 7.1.93: capture-only report framing based on the uploaded red-box references.
   Do not move query fields, icons, command tabs or normal-screen alignment. Keep absolutely last. */
html body:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen,.ranking-report-page-screen,.game-personal-report-page-screen,.game-meeting-report-page-screen,.member-list-report-page-screen,.contact-page-screen) .program-page #report-capture.program-report-capture.capture-rendering{
  display:inline-block!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:6px!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
html body:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen,.ranking-report-page-screen,.game-personal-report-page-screen,.game-meeting-report-page-screen,.member-list-report-page-screen,.contact-page-screen) .program-page #report-capture.program-report-capture.capture-rendering :is(.table-wrap,.report-tight-grid){
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
  scrollbar-gutter:auto!important;
}

/* Monthly settlement: capture exactly the red-box form, summary + detail table, without right blank space. */
html body.ledger-monthly-report-page-screen .program-page #report-capture.capture-rendering .monthly-report-shell{
  width:700px!important;
  min-width:700px!important;
  max-width:700px!important;
}
html body.ledger-monthly-report-page-screen .program-page #report-capture.capture-rendering .monthly-report-shell>.summary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  gap:8px!important;
}
html body.ledger-monthly-report-page-screen .program-page #report-capture.capture-rendering .monthly-report-shell>.summary>.summary-card{
  min-width:0!important;
  width:auto!important;
}
html body.ledger-monthly-report-page-screen .program-page #report-capture.capture-rendering .monthly-settlement-grid,
html body.ledger-monthly-report-page-screen .program-page #report-capture.capture-rendering .monthly-settlement-grid>.monthly-settlement-table{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
}

/* Annual settlement: summary and both result tables share one compact capture frame. */
html body.ledger-annual-report-page-screen .program-page #report-capture.capture-rendering .annual-report-shell{
  width:690px!important;
  min-width:690px!important;
  max-width:690px!important;
}
html body.ledger-annual-report-page-screen .program-page #report-capture.capture-rendering .annual-report-shell>.summary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  gap:8px!important;
}
html body.ledger-annual-report-page-screen .program-page #report-capture.capture-rendering .annual-report-split{
  display:grid!important;
  grid-template-columns:310px 370px!important;
  width:690px!important;
  min-width:690px!important;
  max-width:690px!important;
  gap:10px!important;
}
html body.ledger-annual-report-page-screen .program-page #report-capture.capture-rendering .annual-report-split>section,
html body.ledger-annual-report-page-screen .program-page #report-capture.capture-rendering :is(.annual-monthly-grid,.annual-category-grid),
html body.ledger-annual-report-page-screen .program-page #report-capture.capture-rendering :is(.annual-monthly-table,.annual-category-table){
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
}

/* Ranking: compact three cards and align the table to exactly the same right edge. */
html body.ranking-report-page-screen .program-page #report-capture.capture-rendering .ranking-report-shell{
  width:520px!important;
  min-width:520px!important;
  max-width:520px!important;
}
html body.ranking-report-page-screen .program-page #report-capture.capture-rendering .ranking-report-shell>.summary{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  width:100%!important;
  gap:8px!important;
}
html body.ranking-report-page-screen .program-page #report-capture.capture-rendering .ranking-report-grid,
html body.ranking-report-page-screen .program-page #report-capture.capture-rendering .ranking-report-grid>.ranking-report-table{
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
}

/* Personal and meeting records: remove the red-marked spacer columns while preserving all text. */
html body:is(.game-personal-report-page-screen,.game-meeting-report-page-screen) .program-page #report-capture.capture-rendering :is(.personal-record-grid,.meeting-record-table){
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
}
html body:is(.game-personal-report-page-screen,.game-meeting-report-page-screen) .program-page #report-capture.capture-rendering :is(.personal-record-table,.meeting-report-table){
  display:inline-table!important;
  table-layout:auto!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  white-space:nowrap!important;
}
html body:is(.game-personal-report-page-screen,.game-meeting-report-page-screen) .program-page #report-capture.capture-rendering :is(.personal-record-table,.meeting-report-table)>:is(thead,tbody)>tr>:is(th,td){
  padding-left:5px!important;
  padding-right:5px!important;
}

/* Member list: compact only the captured report columns. */
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-grid,
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-table{
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-table{
  display:inline-table!important;
  table-layout:auto!important;
  white-space:nowrap!important;
}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-table>:is(thead,tbody)>tr>:is(th,td){padding-left:6px!important;padding-right:6px!important}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-table :is(th,td):nth-child(1){width:48px!important;min-width:48px!important}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-table :is(th,td):nth-child(2){width:96px!important;min-width:96px!important}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-table :is(th,td):nth-child(3){width:178px!important;min-width:178px!important}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-table :is(th,td):nth-child(4){width:88px!important;min-width:88px!important}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-table :is(th,td):nth-child(5){width:94px!important;min-width:94px!important}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-table :is(th,td):nth-child(6){width:78px!important;min-width:78px!important}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering .member-list-report-table :is(th,td):nth-child(7){width:66px!important;min-width:66px!important}

/* Member contacts: eliminate the large gaps around locker/type/phone in the captured JPG. */
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-result-grid,
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-table{
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-table{
  display:inline-table!important;
  table-layout:auto!important;
  white-space:nowrap!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-table>:is(thead,tbody)>tr>:is(th,td){padding-left:7px!important;padding-right:7px!important}
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-table :is(th,td):nth-child(1){width:132px!important;min-width:132px!important}
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-table :is(th,td):nth-child(2){width:62px!important;min-width:62px!important}
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-table :is(th,td):nth-child(3){width:88px!important;min-width:88px!important}
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-table :is(th,td):nth-child(4){width:164px!important;min-width:164px!important}

/* 7.1.93: NORMAL report screens use the device width; compact sizing is capture-only.
   Keep absolutely last so the 7.1.93 capture framing never leaks into the live report screen. */
html body .program-page .capture-scroll.program-report-surface{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  box-sizing:border-box!important;
}
html body .program-page #report-capture.program-report-capture:not(.capture-rendering){
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:clamp(3px,.45vw,7px)!important;
  padding-right:clamp(3px,.45vw,7px)!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

/* Every report shell expands to the visible device/result width before capture. */
html body .program-page #report-capture.program-report-capture:not(.capture-rendering) :is(
  .ranking-report-shell,
  .monthly-report-shell,
  .annual-report-shell,
  .integration-responsive-report,
  .cumulative-report,
  .contact-report,
  .contact-report-view,
  .split,
  .summary
){
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}

/* The visible report grid owns horizontal overflow. The page/body must never own it. */
html body .program-page #report-capture.program-report-capture:not(.capture-rendering) :is(
  .table-wrap,
  .report-tight-grid,
  .integration-desktop-grid,
  .integration-mobile-grid,
  .cumulative-report-grid,
  .fee-report-result-grid,
  .locker-result-grid,
  .quarter-report-grid,
  .ranking-report-grid,
  .monthly-settlement-grid,
  .annual-monthly-grid,
  .annual-category-grid,
  .member-list-report-grid,
  .personal-record-grid,
  .meeting-record-table
){
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:contain!important;
  scrollbar-gutter:stable!important;
  touch-action:pan-x pan-y!important;
  box-sizing:border-box!important;
}

/* Tables fill the screen when they fit, but keep their full content width when they overflow.
   This restores left/right scrolling for integration average, cumulative history, membership fees,
   locker usage and every other wide report without changing capture dimensions. */
html body .program-page #report-capture.program-report-capture:not(.capture-rendering) :is(
  .table-wrap,
  .report-tight-grid,
  .integration-desktop-grid,
  .integration-mobile-grid,
  .cumulative-report-grid,
  .fee-report-result-grid,
  .locker-result-grid,
  .quarter-report-grid,
  .ranking-report-grid,
  .monthly-settlement-grid,
  .annual-monthly-grid,
  .annual-category-grid,
  .member-list-report-grid,
  .personal-record-grid,
  .meeting-record-table
)>.data-table{
  display:table!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  table-layout:auto!important;
}

/* The three reports called out in the regression must always retain a true overflow width. */
html body.game-integration-report-page-screen .program-page #report-capture:not(.capture-rendering) .integration-desktop-grid>.integration-desktop-table{
  width:max-content!important;
  min-width:max(100%, 980px)!important;
  max-width:none!important;
}
html body.game-cumulative-report-page-screen .program-page #report-capture:not(.capture-rendering) .cumulative-report-grid>.cumulative-report-table{
  width:max-content!important;
  min-width:max(100%, 980px)!important;
  max-width:none!important;
}
html body.fee-report-page-screen .program-page #report-capture:not(.capture-rendering) .fee-report-result-grid>.fee-report-result-table{
  width:max-content!important;
  min-width:max(100%, 940px)!important;
  max-width:none!important;
}

/* Annual report keeps its two sections responsive on-screen. Capture-only fixed sizes below remain untouched. */
html body.ledger-annual-report-page-screen .program-page #report-capture:not(.capture-rendering) .annual-report-split{
  display:grid!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)!important;
  gap:10px!important;
}
html body.ledger-annual-report-page-screen .program-page #report-capture:not(.capture-rendering) .annual-report-split>section{
  min-width:0!important;
  max-width:100%!important;
}

@media (max-width:1024px){
  html body .program-page #report-capture.program-report-capture:not(.capture-rendering){
    padding-left:4px!important;
    padding-right:4px!important;
  }
}
@media (max-width:620px){
  html body .program-page #report-capture.program-report-capture:not(.capture-rendering){
    padding-left:3px!important;
    padding-right:3px!important;
  }
  html body.ledger-annual-report-page-screen .program-page #report-capture:not(.capture-rendering) .annual-report-split{
    grid-template-columns:1fr!important;
  }
}

/* 7.1.93: ranking / ledger / quarter / locker live report screens must render in capture-style
   while the visible result area stretches to the device width before capture. Keep absolutely last. */
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen,.quarter-report-page-screen,.locker-report-page-screen) .program-page .capture-scroll.program-report-surface{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  box-sizing:border-box!important;
}
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen,.quarter-report-page-screen,.locker-report-page-screen) .program-page #report-capture.program-report-capture:not(.capture-rendering){
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:clamp(4px,.55vw,8px)!important;
  padding-right:clamp(4px,.55vw,8px)!important;
  box-sizing:border-box!important;
}
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) .program-page #report-capture.program-report-capture:not(.capture-rendering) :is(.ranking-report-shell,.monthly-report-shell,.annual-report-shell){
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) .program-page #report-capture.program-report-capture:not(.capture-rendering) :is(.summary,.ranking-report-grid,.monthly-settlement-grid,.annual-monthly-grid,.annual-category-grid){
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) .program-page #report-capture.program-report-capture:not(.capture-rendering) :is(.ranking-report-grid,.monthly-settlement-grid,.annual-monthly-grid,.annual-category-grid)>.data-table{
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  table-layout:auto!important;
}
html body:is(.quarter-report-page-screen,.locker-report-page-screen) .program-page #report-capture.program-report-capture:not(.capture-rendering) :is(.quarter-report-grid,.locker-result-grid){
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:touch!important;
  overscroll-behavior-x:contain!important;
  scrollbar-gutter:stable!important;
  touch-action:pan-x pan-y!important;
  box-sizing:border-box!important;
}
html body.quarter-report-page-screen .program-page #report-capture.program-report-capture:not(.capture-rendering) .quarter-report-grid>.quarter-report-table,
html body.locker-report-page-screen .program-page #report-capture.program-report-capture:not(.capture-rendering) .locker-result-grid>.locker-result-table{
  display:table!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  table-layout:auto!important;
}
html body.ledger-annual-report-page-screen .program-page #report-capture.program-report-capture:not(.capture-rendering) .annual-report-split{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)!important;
}
@media (max-width:620px){
  html body:is(.ranking-report-page-screen,.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen,.quarter-report-page-screen,.locker-report-page-screen) .program-page #report-capture.program-report-capture:not(.capture-rendering){
    padding-left:3px!important;
    padding-right:3px!important;
  }
  html body.ledger-annual-report-page-screen .program-page #report-capture.program-report-capture:not(.capture-rendering) .annual-report-split{
    grid-template-columns:1fr!important;
  }
}

/* 7.1.93: game-query mode-dependent fields + reachable last-row scrolling. Keep absolutely last. */
html body .program-page form[data-game-query-form] .game-query-mode-field.is-query-mode-hidden{
  display:none!important;
}
html body .program-page form[data-game-query-form] .game-query-mode-field.is-query-mode-visible{
  display:flex!important;
}

/* Every ordinary management result grid keeps a small scroll tail so the last data row can be
   moved fully into view instead of stopping under the viewport edge/browser UI. */
html body.program-page-screen main.program-page .table-wrap[data-fit-viewport]{
  box-sizing:border-box!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  padding-bottom:max(14px,env(safe-area-inset-bottom))!important;
  scroll-padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
  overscroll-behavior-x:contain!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y pinch-zoom!important;
}
html body.program-page-screen main.program-page .table-wrap[data-fit-viewport]>.data-table{
  margin-bottom:0!important;
}

/* Tablet landscape reports: fixed menus/tools stay above the result; the whole report surface owns
   vertical movement and individual table wrappers own horizontal movement. Capture rendering is unchanged. */
@media (min-width:621px) and (max-width:1366px) and (orientation:landscape){
  html body.program-page-screen main.program-page .capture-scroll.program-report-surface{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:var(--report-surface-max-height,calc(100dvh - 150px))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:max(18px,env(safe-area-inset-bottom))!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    box-sizing:border-box!important;
  }
  html body.program-page-screen main.program-page .capture-scroll.program-report-surface>#report-capture:not(.capture-rendering){
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    box-sizing:border-box!important;
  }
  html body.program-page-screen main.program-page .capture-scroll.program-report-surface>#report-capture:not(.capture-rendering) .table-wrap{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding-bottom:4px!important;
    overscroll-behavior-x:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    box-sizing:border-box!important;
  }
  html body.program-page-screen.program-wide-result-lock-screen main.program-page .capture-scroll.program-report-surface.program-wide-result-host{
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  html body.program-page-screen main.program-page .capture-scroll.program-report-surface>#report-capture:not(.capture-rendering) .table-wrap>.data-table{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
  }
}

/* 7.1.93: hard-lock game-query mode UI, tablet-landscape left alignment, and bulk-icon baseline. Keep absolutely last. */
html body.game-query-page-screen .program-page .game-query-top-strip-right{
  align-self:flex-end!important;
  align-items:flex-end!important;
}
html body.game-query-page-screen .program-page .game-query-top-bulk-tools{
  display:inline-flex!important;
  align-items:flex-end!important;
  justify-content:flex-end!important;
  align-self:flex-end!important;
  gap:3px!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:0!important;
  white-space:nowrap!important;
}
html body.game-query-page-screen .program-page .game-query-top-bulk-tools>.game-query-icon-action{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:flex-end!important;
  flex:0 0 32px!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  max-height:32px!important;
  margin:0!important;
  padding:2px!important;
  line-height:1!important;
  box-sizing:border-box!important;
}
html body.game-query-page-screen .program-page .game-query-top-bulk-tools>.game-query-select-all{
  position:relative!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
}

@media (min-width:621px) and (max-width:1600px) and (orientation:landscape){
  html body.game-query-page-screen .program-page .game-query-top-strip{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    width:100%!important;
    gap:5px!important;
  }
  html body.game-query-page-screen .program-page .game-query-top-strip-left{
    flex:0 0 auto!important;
    align-self:flex-end!important;
    justify-self:start!important;
    margin:0!important;
  }
  html body.game-query-page-screen .program-page .game-query-top-strip-center{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:calc(100% - 150px)!important;
    align-self:flex-end!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    justify-self:start!important;
    margin:0!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar{
    display:flex!important;
    flex:0 0 auto!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    align-content:flex-end!important;
    width:auto!important;
    min-width:0!important;
    max-width:100%!important;
    gap:3px!important;
    margin:0!important;
    padding:0!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.field{
    flex:0 0 auto!important;
    min-width:0!important;
    margin:0!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-mode-filter{
    flex-basis:116px!important;
    width:116px!important;
    min-width:116px!important;
    max-width:116px!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-year-filter{
    flex-basis:72px!important;
    width:72px!important;
    min-width:72px!important;
    max-width:72px!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-week-filter{
    flex-basis:110px!important;
    width:110px!important;
    min-width:110px!important;
    max-width:110px!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-member-filter{
    flex-basis:170px!important;
    width:170px!important;
    min-width:170px!important;
    max-width:170px!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-mode-field.is-query-mode-hidden{
    display:none!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-mode-field.is-query-mode-visible{
    display:flex!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.btn,
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.action-icon-button,
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-report{
    flex:0 0 auto!important;
    align-self:flex-end!important;
    margin:0!important;
  }
  html body.game-query-page-screen .program-page .game-query-top-strip-right{
    flex:0 0 auto!important;
    min-width:max-content!important;
    margin:0 0 0 auto!important;
    justify-content:flex-end!important;
  }
}

/* 7.1.93: all tablet-landscape report screens scroll vertically to the true last row and
   keep horizontal overflow inside each result grid. Capture rendering remains untouched. Keep absolutely last. */
@media (min-width:621px) and (max-width:1600px) and (orientation:landscape){
  html body.program-page-screen:has(main.program-page .capture-scroll.program-report-surface>#report-capture:not(.capture-rendering)){
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  html body.program-page-screen:has(main.program-page .capture-scroll.program-report-surface>#report-capture:not(.capture-rendering))>main.program-page{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
    padding-bottom:0!important;
  }
  html body.program-page-screen:has(main.program-page .capture-scroll.program-report-surface>#report-capture:not(.capture-rendering))>main.program-page>.panel,
  html body.program-page-screen:has(main.program-page .capture-scroll.program-report-surface>#report-capture:not(.capture-rendering))>main.program-page>.report-tabs,
  html body.program-page-screen:has(main.program-page .capture-scroll.program-report-surface>#report-capture:not(.capture-rendering))>main.program-page>.page-title,
  html body.program-page-screen:has(main.program-page .capture-scroll.program-report-surface>#report-capture:not(.capture-rendering))>main.program-page>.post-tools{
    flex:0 0 auto!important;
  }
  html body.program-page-screen main.program-page .capture-scroll.program-report-surface:has(>#report-capture:not(.capture-rendering)){
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    margin-bottom:0!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    padding-bottom:max(24px,env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    box-sizing:border-box!important;
  }
  html body.program-page-screen main.program-page .capture-scroll.program-report-surface:has(>#report-capture:not(.capture-rendering))>#report-capture:not(.capture-rendering){
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    overflow:visible!important;
    padding-bottom:2px!important;
    box-sizing:border-box!important;
  }
  html body.program-page-screen main.program-page .capture-scroll.program-report-surface:has(>#report-capture:not(.capture-rendering))>#report-capture:not(.capture-rendering) .table-wrap{
    display:block!important;
    flex:none!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    padding-bottom:6px!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    box-sizing:border-box!important;
  }
  html body.program-page-screen main.program-page .capture-scroll.program-report-surface:has(>#report-capture:not(.capture-rendering))>#report-capture:not(.capture-rendering) .table-wrap>.data-table{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    margin-bottom:0!important;
  }
  html body.program-page-screen.program-wide-result-lock-screen main.program-page .capture-scroll.program-report-surface.program-wide-result-host:has(>#report-capture:not(.capture-rendering)),
  html body.program-page-screen.program-wide-result-lock-screen main.program-page .capture-scroll.program-report-surface:has(>#report-capture:not(.capture-rendering)){
    flex:1 1 auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
  }
  html body.program-page-screen:has(main.program-page .capture-scroll.program-report-surface>#report-capture:not(.capture-rendering))>footer{
    display:none!important;
  }
}

/* 7.1.93: TABLET LANDSCAPE REPORT HEADER LOCK.
   Keep report title/summary/table field names fixed; only result rows own vertical/horizontal scrolling.
   Capture rendering, tablet portrait, phone and PC behavior are intentionally untouched. Keep absolutely last. */
@media (min-width:621px) and (max-width:1600px) and (orientation:landscape){
  html body.program-page-screen main.program-page .capture-scroll.program-report-surface:has(>#report-capture:not(.capture-rendering)){
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:hidden!important;
    padding-bottom:0!important;
    scroll-padding-bottom:0!important;
  }
  html body.program-page-screen main.program-page .capture-scroll.program-report-surface:has(>#report-capture:not(.capture-rendering))>#report-capture:not(.capture-rendering){
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    min-height:0!important;
    height:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering)>.capture-title,
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering)>.capture-subtitle,
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering) .summary{
    flex:0 0 auto!important;
  }

  /* Reports whose body contains the result table directly. */
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering)>.table-wrap{
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:0!important;
    max-height:none!important;
    overflow:auto!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    scrollbar-gutter:stable!important;
    box-sizing:border-box!important;
  }

  /* Reports with a summary/body shell above a single table: ranking, monthly ledger,
     integration, cumulative, meeting/personal and similar report shells. */
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering)>:is(div,section):has(>.table-wrap){
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:100%!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering)>:is(div,section):has(>.table-wrap)>.table-wrap{
    display:block!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:0!important;
    max-height:none!important;
    overflow:auto!important;
    padding-bottom:max(8px,env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    scrollbar-gutter:stable!important;
    box-sizing:border-box!important;
  }

  /* Annual settlement has two independently scrollable result tables below one fixed summary. */
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:100%!important;
    overflow:hidden!important;
  }
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split{
    flex:1 1 auto!important;
    min-height:0!important;
    height:0!important;
    overflow:hidden!important;
  }
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section{
    display:flex!important;
    flex-direction:column!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section>.table-wrap{
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:0!important;
    max-height:none!important;
    overflow:auto!important;
    padding-bottom:8px!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    scrollbar-gutter:stable!important;
  }

  /* The field-name row remains vertically fixed while only tbody data scrolls underneath it. */
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering) .table-wrap>.data-table>thead,
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering) .table-wrap>.data-table>thead>tr>th{
    position:sticky!important;
    top:0!important;
    z-index:40!important;
  }
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering) .table-wrap>.data-table>thead>tr>th{
    background:#dbeafe!important;
    background:var(--table-head,#dbeafe)!important;
    box-shadow:0 1px 0 rgba(35,72,108,.28)!important;
  }
  html body.program-page-screen main.program-page #report-capture:not(.capture-rendering) .table-wrap>.data-table{
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
}

/* 7.1.96: TABLET LANDSCAPE QUERY LEFT-EDGE + REPORT DATA-ONLY SCROLL.
   1) In view/member game-query screens, keep the visible mode/week/member/query/report controls packed to the left edge.
   2) On every report page in tablet landscape, lock the A-area (page tools/title/table field names) and let only the result data area scroll.
   Capture rendering, phone, portrait tablet and PC behavior stay untouched. Keep absolutely last. */
@media (min-width:621px) and (max-width:1600px) and (orientation:landscape){
  html body.game-query-page-screen:not(.mode-manage) .program-page .filter-bar.game-query-toolbar{
    display:flex!important;
    flex-flow:row nowrap!important;
    justify-content:flex-start!important;
    align-items:flex-end!important;
    align-content:flex-start!important;
    gap:4px!important;
    width:max-content!important;
    min-width:0!important;
    max-width:100%!important;
    margin-left:0!important;
    margin-right:auto!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-gutter:stable both-edges!important;
    -webkit-overflow-scrolling:touch!important;
    box-sizing:border-box!important;
  }
  html body.game-query-page-screen:not(.mode-manage) .program-page .filter-bar.game-query-toolbar>.field,
  html body.game-query-page-screen:not(.mode-manage) .program-page .filter-bar.game-query-toolbar>.btn,
  html body.game-query-page-screen:not(.mode-manage) .program-page .filter-bar.game-query-toolbar>.game-query-report{
    flex:0 0 auto!important;
    margin-left:0!important;
    margin-right:0!important;
  }
  html body.game-query-page-screen:not(.mode-manage) .program-page .filter-bar.game-query-toolbar>.game-query-mode-filter,
  html body.game-query-page-screen:not(.mode-manage) .program-page .filter-bar.game-query-toolbar>.game-query-week-filter,
  html body.game-query-page-screen:not(.mode-manage) .program-page .filter-bar.game-query-toolbar>.game-query-member-filter{
    align-self:flex-end!important;
  }

  html body.program-page-screen[class*='-report-page-screen']{
    overflow:hidden!important;
  }
  html body.program-page-screen[class*='-report-page-screen'] main.program-page{
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    height:calc(100dvh - clamp(84px,10vw,118px))!important;
    max-height:calc(100dvh - clamp(84px,10vw,118px))!important;
    overflow:hidden!important;
  }
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.report-toolbar,
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.report-tabs,
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.panel,
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.filter-bar,
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.uniform-control-toolbar,
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.quarter-filter-form,
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.game-query-top-strip,
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.game-report-tabs{
    flex:0 0 auto!important;
  }
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.capture-scroll.program-report-surface{
    flex:1 1 auto!important;
    min-height:0!important;
    height:0!important;
    max-height:100%!important;
    overflow:hidden!important;
  }
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.capture-scroll.program-report-surface>#report-capture:not(.capture-rendering) .table-wrap,
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.capture-scroll.program-report-surface>#report-capture:not(.capture-rendering) :is(div,section):has(>.table-wrap)>.table-wrap,
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.capture-scroll.program-report-surface>#report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section>.table-wrap{
    overscroll-behavior:contain!important;
    overflow:auto!important;
    scrollbar-gutter:stable both-edges!important;
  }
  html body.program-page-screen[class*='-report-page-screen'] main.program-page>.capture-scroll.program-report-surface>#report-capture:not(.capture-rendering) .table-wrap>.data-table>thead>tr>th{
    position:sticky!important;
    top:0!important;
    z-index:45!important;
  }
}

/* 7.1.96: HARD tablet-landscape A-area lock + data-only 2-axis scroll.
   Runtime supplies exact visual-viewport heights. This overrides every older tablet report scroll owner.
   Capture rendering is explicitly excluded. Keep absolutely last. */
@media (min-width:621px) and (max-width:1600px) and (orientation:landscape){
  html body.tablet-landscape-report-data-lock-screen{
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page{
    min-height:0!important;
    overflow:hidden!important;
    padding-bottom:0!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page .tablet-report-frame-host{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-width:0!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page .program-report-surface:has(>#report-capture:not(.capture-rendering)){
    display:block!important;
    flex:0 0 var(--tablet-report-surface-height)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:var(--tablet-report-surface-height)!important;
    min-height:var(--tablet-report-surface-height)!important;
    max-height:var(--tablet-report-surface-height)!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering){
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:var(--tablet-report-capture-height)!important;
    min-height:var(--tablet-report-capture-height)!important;
    max-height:var(--tablet-report-capture-height)!important;
    margin:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering)>.capture-title,
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering)>.capture-subtitle,
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering) .summary{
    position:relative!important;
    z-index:50!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering) .tablet-report-primary-host,
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering) .tablet-report-scroll-host{
    min-width:0!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering) .tablet-report-data-scroll{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:var(--tablet-report-data-height)!important;
    min-height:96px!important;
    max-height:var(--tablet-report-data-height)!important;
    margin:0!important;
    padding:0 0 max(10px,env(safe-area-inset-bottom))!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    scrollbar-gutter:stable both-edges!important;
    box-sizing:border-box!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering) .tablet-report-data-scroll>.data-table{
    display:table!important;
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    table-layout:auto!important;
    margin:0!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering) .tablet-report-data-scroll>.data-table>thead,
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering) .tablet-report-data-scroll>.data-table>thead>tr>th{
    position:sticky!important;
    top:0!important;
    z-index:70!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering) .tablet-report-data-scroll>.data-table>thead>tr>th{
    background:var(--table-head,#dbeafe)!important;
    box-shadow:0 1px 0 rgba(35,72,108,.28)!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split{
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  html body.tablet-landscape-report-data-lock-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section{
    min-height:0!important;
    overflow:visible!important;
  }
  html body.tablet-landscape-report-data-lock-screen>footer{
    display:none!important;
  }

  /* View-only and ordinary-member game query controls stay hard-left in tablet landscape. */
  html body.game-query-page-screen:not(.mode-manage) .program-page .filter-bar.game-query-toolbar{
    justify-content:flex-start!important;
    margin-left:0!important;
    margin-right:auto!important;
  }
  html body.game-query-page-screen:not(.mode-manage) .program-page .filter-bar.game-query-toolbar>:not(.is-query-mode-hidden){
    flex:0 0 auto!important;
    margin-left:0!important;
    margin-right:0!important;
  }
}

/* 7.1.96: PHONE + TABLET-LANDSCAPE REPORT A-AREA LOCK.
   Live reports use a structurally separated fixed field-name pane and a tbody-only 2-axis data viewport.
   The capture DOM is restored before capture-rendering, so established JPG rules stay unchanged. Keep absolutely last. */
@media (max-width:620px), (min-width:621px) and (max-width:1600px) and (orientation:landscape){
  html body.live-report-data-pane-screen{
    height:100vh!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  html body.live-report-data-pane-screen main.program-page{
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
    padding-bottom:0!important;
  }
  html body.live-report-data-pane-screen main.program-page .capture-scroll.program-report-surface:has(>#report-capture:not(.capture-rendering)){
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:var(--live-report-surface-height)!important;
    min-height:var(--live-report-surface-height)!important;
    max-height:var(--live-report-surface-height)!important;
    margin-left:0!important;
    margin-right:0!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering){
    display:block!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    height:var(--live-report-capture-height)!important;
    min-height:var(--live-report-capture-height)!important;
    max-height:var(--live-report-capture-height)!important;
    margin:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering)>.capture-title,
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering)>.capture-subtitle,
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .summary{
    position:relative!important;
    z-index:80!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-split-wrap{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-fixed-header{
    display:block!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
    position:relative!important;
    z-index:90!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-fixed-header>.live-report-header-table{
    display:table!important;
    table-layout:fixed!important;
    border-collapse:collapse!important;
    margin:0!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-fixed-header>.live-report-header-table>thead,
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-fixed-header>.live-report-header-table>thead>tr>th{
    position:static!important;
    top:auto!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-fixed-header>.live-report-header-table>thead>tr>th{
    background:var(--table-head,#dbeafe)!important;
    box-shadow:inset 0 -1px 0 rgba(35,72,108,.28)!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-data-viewport{
    display:block!important;
    flex:0 0 var(--live-report-data-height)!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:var(--live-report-data-height)!important;
    min-height:72px!important;
    max-height:var(--live-report-data-height)!important;
    margin:0!important;
    padding:0 0 max(6px,env(safe-area-inset-bottom))!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    overscroll-behavior:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    scrollbar-gutter:stable both-edges!important;
    box-sizing:border-box!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-data-viewport>.data-table{
    display:table!important;
    table-layout:fixed!important;
    margin:0!important;
    max-width:none!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-data-viewport>.data-table>tbody{
    display:table-row-group!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-data-viewport>.data-table>tbody>tr{
    display:table-row!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) .live-report-data-viewport>.data-table>tbody>tr>td{
    display:table-cell!important;
  }
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) :is(.annual-report-split,.split),
  html body.live-report-data-pane-screen main.program-page #report-capture:not(.capture-rendering) :is(.annual-report-split,.split)>section{
    min-height:0!important;
    overflow:visible!important;
  }
  html body.live-report-data-pane-screen>footer{
    display:none!important;
  }
}

/* 7.1.106: report JPG capture must shrink to the real last data row. Keep absolutely last. */
html body .program-page #report-capture.program-report-capture.capture-rendering{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  padding-bottom:0!important;
  overflow:visible!important;
}
html body .program-page #report-capture.program-report-capture.capture-rendering .table-wrap{
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  overflow:visible!important;
}
html body .program-page #report-capture.program-report-capture.capture-rendering :is(.live-report-data-viewport,.live-report-fixed-header){
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
}

/* 7.1.106: capture polish for member contacts, member list right margin, and fee total cells. Keep absolutely last. */
html body.contact-page-screen .program-page #report-capture.capture-rendering :is(.contact-report,.contact-result-grid,.contact-table){
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-result-grid{
  overflow:visible!important;
  scrollbar-gutter:auto!important;
}

/* Paint the fee total column as a real cell surface in the capture clone.
   This prevents the previous transparent/overlapped rendering from looking like
   the total cell background is split into two vertical pieces. */
html body.fee-report-page-screen .program-page #report-capture.capture-rendering .fee-report-result-table>thead>tr>th:last-child{
  position:static!important;
  background:#dce9f8!important;
  background-image:none!important;
  background-clip:border-box!important;
  box-shadow:none!important;
}
html body.fee-report-page-screen .program-page #report-capture.capture-rendering .fee-report-result-table>tbody>tr:nth-child(odd)>td:last-child{
  position:relative!important;
  z-index:1!important;
  background:#fff!important;
  background-image:none!important;
  background-clip:border-box!important;
  box-shadow:none!important;
}
html body.fee-report-page-screen .program-page #report-capture.capture-rendering .fee-report-result-table>tbody>tr:nth-child(even)>td:last-child{
  position:relative!important;
  z-index:1!important;
  background:#f2f7fc!important;
  background-image:none!important;
  background-clip:border-box!important;
  box-shadow:none!important;
}


/* 7.1.106: member-contact top trim + member-list capture heading composition. Keep absolutely last. */
html body.contact-page-screen .program-page #report-capture.capture-rendering{
  padding-top:0!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering>.capture-title{
  margin-top:0!important;
}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering>.member-list-capture-title{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  gap:6px!important;
  width:max-content!important;
  margin:0 0 5px!important;
  white-space:nowrap!important;
  line-height:1.05!important;
}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering>.member-list-capture-title>.member-list-capture-label{
  display:inline-block!important;
  font:inherit!important;
  line-height:inherit!important;
}
html body.member-list-report-page-screen .program-page #report-capture.capture-rendering>.member-list-capture-title>.member-list-capture-year{
  display:inline-block!important;
  font-size:.62em!important;
  font-weight:800!important;
  line-height:1!important;
  color:inherit!important;
  white-space:nowrap!important;
}

/* 7.1.106: member-contact capture title/subtitle are hard-centered over the capture width. Keep absolutely last. */
html body.contact-page-screen .program-page #report-capture.capture-rendering>.capture-title,
html body.contact-page-screen .program-page #report-capture.capture-rendering>.capture-subtitle{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}


/* 7.1.107: tablet member-contact capture mirrors the requested tablet form and removes the red-box top gap. Keep absolutely last. */
html body.contact-page-screen .program-page #report-capture.capture-rendering.tablet-contact-capture-rendering{
  padding-top:0!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering.tablet-contact-capture-rendering>.contact-tablet-capture-heading{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:baseline!important;
  justify-content:flex-start!important;
  width:max-content!important;
  max-width:100%!important;
  margin:0 0 5px!important;
  gap:5px!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering.tablet-contact-capture-rendering>.contact-tablet-capture-heading>.capture-title{
  display:inline-block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  line-height:1.05!important;
  white-space:nowrap!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering.tablet-contact-capture-rendering>.contact-tablet-capture-heading>.capture-subtitle{
  display:inline-block!important;
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  text-align:left!important;
  font-size:.62em!important;
  font-weight:700!important;
  line-height:1!important;
  white-space:nowrap!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering.tablet-contact-capture-rendering :is(.contact-report,.contact-result-grid,.contact-table){
  margin-top:0!important;
}

/* 7.1.110: MEMBER CONTACT CAPTURE USES ONE FINAL FORM ON PHONE / TABLET / PC.
   Keep the uploaded final contact image composition: stacked centered title/subtitle,
   compact table-width capture, and no device-specific inline heading. Keep absolutely last. */
html body.contact-page-screen .program-page #report-capture.capture-rendering{
  display:inline-block!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding-top:4px!important;
  padding-left:6px!important;
  padding-right:6px!important;
  padding-bottom:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering>.capture-title,
html body.contact-page-screen .program-page #report-capture.capture-rendering>.capture-subtitle{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  text-align:center!important;
  white-space:nowrap!important;
  box-sizing:border-box!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering>.capture-title{
  margin-top:0!important;
  margin-bottom:1px!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering>.capture-subtitle{
  margin-top:0!important;
  margin-bottom:6px!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-report,
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-result-grid,
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-table{
  margin-top:0!important;
  margin-bottom:0!important;
}
html body.contact-page-screen .program-page #report-capture.capture-rendering .contact-report{
  margin-left:auto!important;
  margin-right:auto!important;
}


/* 7.1.110: annual settlement live-screen recovery + locker join-date capture line cleanup. Keep absolutely last. */
@media (min-width:621px) and (max-width:1600px) and (orientation:landscape){
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering){
    display:flex!important;
    flex-direction:column!important;
    min-height:0!important;
    overflow:hidden!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.summary{
    flex:0 0 auto!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split{
    display:grid!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    height:0!important;
    max-height:none!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)!important;
    gap:10px!important;
    overflow:hidden!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section>.table-wrap.live-report-split-wrap{
    display:flex!important;
    flex:1 1 auto!important;
    min-width:0!important;
    min-height:0!important;
    height:100%!important;
    max-height:100%!important;
    overflow:hidden!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section>.table-wrap.live-report-split-wrap>.live-report-fixed-header{
    flex:0 0 auto!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section>.table-wrap.live-report-split-wrap>.live-report-data-viewport{
    flex:1 1 auto!important;
    height:0!important;
    min-height:72px!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
  }
}
html body.locker-report-page-screen .program-page #report-capture.capture-rendering .locker-result-grid{
  scrollbar-gutter:auto!important;
  overflow:visible!important;
}
html body.locker-report-page-screen .program-page #report-capture.capture-rendering .locker-result-table :is(th,td):last-child{
  position:static!important;
  box-shadow:none!important;
  background-clip:border-box!important;
  padding-left:4px!important;
  padding-right:4px!important;
  white-space:nowrap!important;
}



/* 7.1.110: annual live report data panes must use the full remaining viewport height,
   and locker join-date capture must keep its outer rule away from the date text. Keep absolutely last. */
@media (min-width:621px) and (max-width:1600px) and (orientation:landscape){
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell{
    display:flex!important;
    flex:1 1 auto!important;
    flex-direction:column!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split{
    display:grid!important;
    flex:1 1 auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)!important;
    gap:10px!important;
    overflow:visible!important;
    align-items:start!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:visible!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section>.table-wrap.live-report-split-wrap{
    display:flex!important;
    flex-direction:column!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow:hidden!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell>.annual-report-split>section>.table-wrap.live-report-split-wrap>.live-report-data-viewport{
    display:block!important;
    flex:0 0 var(--live-report-data-height)!important;
    width:100%!important;
    min-width:0!important;
    height:var(--live-report-data-height)!important;
    min-height:96px!important;
    max-height:var(--live-report-data-height)!important;
    overflow-x:auto!important;
    overflow-y:auto!important;
    scrollbar-gutter:stable both-edges!important;
  }
}
html body.locker-report-page-screen .program-page #report-capture.capture-rendering .locker-result-table :is(th,td):last-child{
  min-width:66px!important;
  width:66px!important;
  padding-left:7px!important;
  padding-right:7px!important;
  border-right-color:transparent!important;
}
html body.locker-report-page-screen .program-page #report-capture.capture-rendering .locker-result-table{
  border-right:1px solid rgba(35,72,108,.18)!important;
}

/* 7.1.111 / 7.1.113: management dropdown must paint above every fixed/sticky live-screen result layer.
   7.1.113 supersedes the 7.1.112 layout-reserve approach: opening the menu must never change
   header/main coordinates or result-area height. Only stacking order is controlled. Keep absolutely last. */
html body .site-head{
  z-index:10000!important;
  isolation:isolate!important;
  overflow:visible!important;
}
html body .site-head>.club-site-nav>.club-management-menu{
  z-index:10010!important;
  isolation:isolate!important;
}
html body .site-head>.club-site-nav>.club-management-menu[open]>.club-management-submenu{
  z-index:10020!important;
  background:#173b68!important;
  opacity:1!important;
}
/* While the management menu is open, fixed/sticky report/result layers remain in their original
   coordinates but are explicitly kept in the page layer below the header-owned submenu. */
html body.management-menu-overlay-open main.program-page{
  position:relative!important;
  z-index:0!important;
}
html body.management-menu-overlay-open main.program-page :is(
  .page-title,
  .report-toolbar,
  #report-capture:not(.capture-rendering)>.capture-title,
  #report-capture:not(.capture-rendering)>.capture-subtitle,
  #report-capture:not(.capture-rendering) .summary,
  #report-capture:not(.capture-rendering) .live-report-fixed-header,
  #report-capture:not(.capture-rendering) .tablet-report-data-scroll>.data-table>thead,
  #report-capture:not(.capture-rendering) .tablet-report-data-scroll>.data-table>thead>tr>th,
  .table-wrap>.data-table>thead,
  .table-wrap>.data-table>thead>tr>th
){
  z-index:1!important;
}

/* 7.1.117: annual settlement live-pane full-width amount finish.
   Keep the existing annual split layout and amount visibility. When no vertical scroll is actually needed,
   the category table must fill the entire right-side viewport without a reserved blank gutter. */
html body.quarter-management-page-screen main.quarter-management-page #quarter-adjustment-form .quarter-adjustment-input{
  text-align:center!important;
  text-align-last:center!important;
}
html body.ledger-annual-report-page-screen main.program-page #report-capture .annual-category-table .annual-amount-cell{
  color:var(--text,#203247)!important;
  opacity:1!important;
  visibility:visible!important;
  white-space:nowrap!important;
  text-align:right!important;
  text-indent:0!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  padding-left:6px!important;
  padding-right:8px!important;
}
html body.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering) .annual-category-grid>.annual-category-table{
  width:100%!important;
  min-width:100%!important;
  max-width:none!important;
  table-layout:fixed!important;
}
html body.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering) .annual-category-grid>.annual-category-table :is(th,td):nth-child(1){width:14%!important}
html body.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering) .annual-category-grid>.annual-category-table :is(th,td):nth-child(2){width:32%!important}
html body.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering) .annual-category-grid>.annual-category-table :is(th,td):nth-child(3){width:34%!important}
html body.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering) .annual-category-grid>.annual-category-table :is(th,td):nth-child(4){width:20%!important}
@media (min-width:621px) and (max-width:1600px) and (orientation:landscape){
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)
  .annual-category-grid.live-report-split-wrap>.live-report-data-viewport{
    scrollbar-gutter:auto!important;
  }
  html body.live-report-data-pane-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)
  .annual-category-grid.live-report-split-wrap>.live-report-fixed-header{
    padding-right:0!important;
    margin-right:0!important;
  }
}

/* 7.1.118: ranking/quarter views are owned by the Game Records query toolbar.
   Preserve the existing A-area positions while adding only the quarter helper field and integrated result sizing. */
html body.game-query-page-screen .program-page form[data-game-query-form]>.game-query-quarter-filter{
  flex:0 0 78px!important;
  width:78px!important;
  min-width:78px!important;
  max-width:78px!important;
}
html body.game-query-page-screen .program-page .game-query-inline-toolbar>.game-query-quarter-filter{
  flex-basis:78px!important;
}
html body.game-query-page-screen .program-page .game-query-owned-result{
  min-width:0!important;
  width:100%!important;
  margin:0!important;
}
html body.game-query-page-screen .program-page .game-query-ranking-result>.summary{
  flex:0 0 auto!important;
  margin-top:0!important;
}
html body.game-query-page-screen .program-page #quarter-adjustment-form.game-query-quarter-result{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
}
html body.game-query-page-screen .program-page #quarter-adjustment-form.game-query-quarter-result>.quarter-save-bar{
  order:-1!important;
  flex:0 0 auto!important;
  margin:0 0 5px!important;
}
html body.game-query-page-screen .program-page #quarter-adjustment-form .quarter-adjustment-input{
  text-align:center!important;
  text-align-last:center!important;
}
@media (min-width:621px) and (max-width:1600px) and (orientation:landscape){
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-quarter-filter{
    flex-basis:78px!important;
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
  }
  html body.game-query-page-screen:not(.mode-manage) .program-page .filter-bar.game-query-toolbar>.game-query-quarter-filter{
    flex:0 0 78px!important;
    width:78px!important;
    min-width:78px!important;
    max-width:78px!important;
    align-self:flex-end!important;
  }
}
@media (max-width:620px){
  html body.game-query-page-screen .program-page .filter-bar.game-query-inline-toolbar>.game-query-quarter-filter{
    flex-basis:58px!important;
    width:58px!important;
    min-width:58px!important;
    max-width:58px!important;
  }
  html body.game-query-page-screen .program-page .filter-bar.game-query-toolbar>.game-query-quarter-filter{
    flex:0 0 62px!important;
    width:62px!important;
    min-width:62px!important;
    max-width:62px!important;
  }
}

/* 7.1.119: game/ledger single input-query toggle, cross-module entry links,
   portrait Game Records A-area alignment, and portrait contact vertical scrolling.
   Keep existing result/table coordinates; override only the requested controls and scroll behavior. */
html body .program-page :is(.ledger-entry-panel,.fee-entry-panel){
  position:relative!important;
}
html body .program-page .cross-module-jump{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:30px!important;
  padding:3px 9px!important;
  border:1px solid #8fa7c1!important;
  border-radius:3px!important;
  background:#fff!important;
  color:#173b68!important;
  font-weight:800!important;
  font-size:.76rem!important;
  line-height:1!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  z-index:3!important;
}
@media (min-width:621px){
  html body .program-page :is(.ledger-entry-panel,.fee-entry-panel)>.cross-module-jump{
    position:absolute!important;
    right:10px!important;
    top:22px!important;
  }
}

/* A single icon owns the current Input/Query state; tapping it navigates to the opposite screen. */
html body .program-page .game-section-tabs>.game-section-toggle,
html body .program-page .ledger-section-tabs>.ledger-section-toggle{
  flex:0 0 34px!important;
  width:34px!important;
  min-width:34px!important;
  max-width:34px!important;
  margin:0!important;
}

/* Phone portrait: management Game Records keeps the toggle + query fields/actions together in A-area.
   No helper field or action is allowed to wrap into a lower B row. */
@media (max-width:620px) and (orientation:portrait){
  html body.mode-manage.game-query-page-screen main.game-query-page .game-query-top-strip{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:2px!important;
    padding:5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    box-sizing:border-box!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .game-query-top-strip::-webkit-scrollbar{display:none!important}
  html body.mode-manage.game-query-page-screen main.game-query-page .game-query-top-strip-left{
    display:flex!important;
    flex:0 0 32px!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    align-items:flex-end!important;
    grid-area:auto!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .game-query-top-strip-left>.game-section-tabs{
    display:flex!important;
    flex-flow:row nowrap!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    overflow:visible!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .game-query-top-strip-left .game-section-toggle{
    flex:0 0 32px!important;
    width:32px!important;
    min-width:32px!important;
    max-width:32px!important;
    height:32px!important;
    min-height:32px!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .game-query-top-strip-center{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    grid-area:auto!important;
    align-items:flex-end!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar{
    display:flex!important;
    flex:0 0 auto!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    gap:2px!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar>.field{
    flex:0 0 auto!important;
    min-width:0!important;
    margin:0!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar>.game-query-mode-filter{
    flex-basis:82px!important;width:82px!important;min-width:82px!important;max-width:82px!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar>.game-query-year-filter{
    flex-basis:55px!important;width:55px!important;min-width:55px!important;max-width:55px!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar>.game-query-quarter-filter{
    flex-basis:55px!important;width:55px!important;min-width:55px!important;max-width:55px!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar>.game-query-week-filter{
    flex-basis:66px!important;width:66px!important;min-width:66px!important;max-width:66px!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar>.game-query-member-filter{
    flex-basis:82px!important;width:82px!important;min-width:82px!important;max-width:82px!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar>.game-query-mode-field.is-query-mode-hidden{display:none!important}
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar>.game-query-mode-field.is-query-mode-visible{display:flex!important}
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar> :is(.action-icon-button-query,.action-icon-button-save,.game-query-report){
    flex:0 0 28px!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
    margin:0!important;
    padding:1px!important;
    align-self:flex-end!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .game-query-top-strip-right{
    display:flex!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    grid-area:auto!important;
    margin:0 0 0 auto!important;
    align-self:flex-end!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .game-query-top-bulk-tools{
    height:30px!important;
    min-height:30px!important;
  }
  html body.mode-manage.game-query-page-screen main.game-query-page .game-query-top-bulk-tools>.game-query-icon-action{
    flex-basis:28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:30px!important;min-height:30px!important;
  }

  /* View/member portrait uses the same field order/form as the corrected Game Records screen:
     mode -> year -> quarter (when selected) -> query -> report. */
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:2px!important;
    padding:5px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
    box-sizing:border-box!important;
  }
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar::-webkit-scrollbar{display:none!important}
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.field{
    flex:0 0 auto!important;
    min-width:0!important;
    margin:0!important;
    grid-column:auto!important;
    grid-row:auto!important;
  }
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.game-query-mode-filter{
    order:1!important;flex-basis:84px!important;width:84px!important;min-width:84px!important;max-width:84px!important;
  }
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.game-query-year-filter{
    order:2!important;flex-basis:56px!important;width:56px!important;min-width:56px!important;max-width:56px!important;
  }
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.game-query-week-filter,
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.game-query-quarter-filter{
    order:3!important;flex-basis:62px!important;width:62px!important;min-width:62px!important;max-width:62px!important;
  }
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.game-query-member-filter{
    order:3!important;flex-basis:84px!important;width:84px!important;min-width:84px!important;max-width:84px!important;
  }
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.action-icon-button-query{
    order:4!important;
  }
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.game-query-report{
    order:5!important;
  }
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar> :is(.action-icon-button-query,.game-query-report){
    flex:0 0 28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:30px!important;min-height:30px!important;margin:0!important;padding:1px!important;
  }
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.game-query-mode-field.is-query-mode-hidden{display:none!important}
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.game-query-mode-field.is-query-mode-visible{display:flex!important}

  /* Contact view portrait: the document/page owns vertical scroll; do not trap it inside a viewport-height grid. */
  html body.contact-page-screen{
    height:auto!important;
    min-height:100dvh!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
  }
  html body.contact-page-screen main.program-page.contact-page{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  html body.contact-page-screen main.program-page.contact-page .contact-report-view,
  html body.contact-page-screen main.program-page.contact-page .capture-scroll.program-report-surface,
  html body.contact-page-screen main.program-page.contact-page #report-capture:not(.capture-rendering),
  html body.contact-page-screen main.program-page.contact-page .contact-report{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:visible!important;
  }
  html body.contact-page-screen main.program-page.contact-page .contact-result-grid{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y!important;
  }

  html body .program-page :is(.ledger-entry-panel,.fee-entry-panel)>.cross-module-jump{
    position:static!important;
    float:none!important;
    margin:4px 0 0 auto!important;
    width:max-content!important;
  }
}

/* 7.1.120: fee/contact portrait document scrolling, same-row ledger/fee cross-links,
   and unified ledger settlement query controls. Keep this release block last. */
html body .program-page :is(.ledger-actions,.fee-register-actions){
  display:inline-flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  overflow:visible!important;
}
html body .program-page :is(.ledger-actions,.fee-register-actions)>.cross-module-jump{
  position:static!important;
  inset:auto!important;
  flex:0 0 auto!important;
  height:30px!important;
  min-height:30px!important;
  margin:0!important;
  padding:2px 8px!important;
  align-self:flex-end!important;
  font-size:.7rem!important;
  line-height:1!important;
}

/* The ledger query screen is the settlement screen: query-state icon + settlement tab + its auxiliary field. */
html body .program-page .ledger-settlement-query-row{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:7px 9px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  box-sizing:border-box!important;
}
html body .program-page .ledger-settlement-query-state{
  display:flex!important;
  flex:0 0 auto!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  margin:0!important;
  padding:0!important;
}
html body .program-page .ledger-settlement-query-state>.ledger-section-toggle{
  flex:0 0 32px!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:1px!important;
}
html body .program-page .ledger-settlement-selector{
  display:flex!important;
  flex:0 0 auto!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:3px!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
html body .program-page .ledger-settlement-selector>.ledger-settlement-tab{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex:0 0 auto!important;
  min-height:32px!important;
  height:32px!important;
  padding:3px 8px!important;
  margin:0!important;
  font-size:.72rem!important;
  text-decoration:none!important;
}
html body .program-page .ledger-settlement-selector>.field{
  flex:0 0 auto!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
html body .program-page .ledger-settlement-selector>.ledger-month-filter{width:64px!important}
html body .program-page .ledger-settlement-selector>.ledger-year-filter{width:72px!important}
html body .program-page .ledger-settlement-selector>.field>span{font-size:.62rem!important;line-height:1!important;margin-bottom:2px!important}
html body .program-page .ledger-settlement-selector :is(input,select){
  min-height:32px!important;
  height:32px!important;
  padding:3px 5px!important;
  font-size:.72rem!important;
}
html body .program-page .ledger-settlement-selector>.ledger-report-capture{
  flex:0 0 auto!important;
  height:32px!important;
  min-height:32px!important;
  margin-left:4px!important;
  padding:3px 9px!important;
  font-size:.7rem!important;
}

@media (max-width:620px) and (orientation:portrait){
  /* Fee management and Contacts(View) own normal document vertical scrolling.
     The JS release block excludes these screens from program-result-lock-screen. */
  html body:is(.contact-page-screen,.fee-management-page-screen){
    height:auto!important;
    min-height:100dvh!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-y pinch-zoom!important;
  }
  html body:is(.contact-page-screen,.fee-management-page-screen)>main.program-page{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-bottom:24px!important;
    padding-bottom:max(28px,env(safe-area-inset-bottom))!important;
    overflow:visible!important;
    overscroll-behavior-y:auto!important;
  }
  html body.contact-page-screen main.program-page.contact-page :is(.contact-report-view,.capture-scroll.program-report-surface,#report-capture:not(.capture-rendering),.contact-report,.contact-result-grid),
  html body.fee-management-page-screen main.program-page .table-wrap[data-fit-viewport]{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-y:visible!important;
  }
  html body:is(.contact-page-screen,.fee-management-page-screen) main.program-page .table-wrap[data-fit-viewport]{
    overflow-x:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }

  /* Same-row cross-module jump controls on portrait management input forms. */
  html body .program-page .form-bar.ledger-entry-grid{
    display:flex!important;
    flex-flow:row nowrap!important;
    gap:1px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
  }
  html body .program-page .form-bar.ledger-entry-grid::-webkit-scrollbar{display:none!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(1){flex:0 0 64px!important;width:64px!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(2){flex:0 0 44px!important;width:44px!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(3){flex:0 0 64px!important;width:64px!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(4){flex:0 0 48px!important;width:48px!important}
  html body .program-page .form-bar.ledger-entry-grid>.ledger-note-field{flex:0 0 56px!important;width:56px!important;min-width:56px!important}
  html body .program-page .form-bar.ledger-entry-grid>.ledger-actions{
    flex:1 1 66px!important;
    width:auto!important;
    min-width:66px!important;
    max-width:none!important;
    gap:1px!important;
    margin:0!important;
  }
  html body .program-page .form-bar.ledger-entry-grid>.ledger-actions>.btn,
  html body .program-page .form-bar.fee-entry-grid>.fee-register-actions>.btn{
    flex:0 0 26px!important;
    width:26px!important;
    min-width:26px!important;
    max-width:26px!important;
    height:28px!important;
    min-height:28px!important;
    padding:1px!important;
  }
  html body .program-page :is(.ledger-actions,.fee-register-actions)>.cross-module-jump{
    flex:0 0 39px!important;
    width:39px!important;
    min-width:39px!important;
    max-width:39px!important;
    height:28px!important;
    min-height:28px!important;
    padding:1px 2px!important;
    font-size:.56rem!important;
  }

  html body .program-page .form-bar.fee-entry-grid{
    display:flex!important;
    flex-flow:row nowrap!important;
    gap:1px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
  }
  html body .program-page .form-bar.fee-entry-grid::-webkit-scrollbar{display:none!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-equal-field{flex:0 0 60px!important;width:60px!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-date-field{flex:0 0 66px!important;width:66px!important}
  html body .program-page .form-bar.fee-entry-grid>.field.w3{flex:0 0 62px!important;width:62px!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-monthly-field{flex:0 0 52px!important;width:52px!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-register-actions{
    flex:0 0 66px!important;
    width:66px!important;
    min-width:66px!important;
    max-width:66px!important;
    gap:1px!important;
    margin:0!important;
  }

  /* Compact settlement query row on phone portrait; selected tab's field stays adjacent. */
  html body .program-page .ledger-settlement-query-row{
    gap:2px!important;
    padding:5px!important;
    scrollbar-width:none!important;
  }
  html body .program-page .ledger-settlement-query-row::-webkit-scrollbar{display:none!important}
  html body .program-page .ledger-settlement-query-state>.ledger-section-toggle{
    flex-basis:28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;height:30px!important;min-height:30px!important;
  }
  html body .program-page .ledger-settlement-selector{gap:2px!important}
  html body .program-page .ledger-settlement-selector>.ledger-settlement-tab{
    min-height:30px!important;height:30px!important;padding:2px 5px!important;font-size:.64rem!important;
  }
  html body .program-page .ledger-settlement-selector>.ledger-month-filter{width:54px!important}
  html body .program-page .ledger-settlement-selector>.ledger-year-filter{width:60px!important}
  html body .program-page .ledger-settlement-selector :is(input,select){min-height:30px!important;height:30px!important;padding:2px 3px!important;font-size:.64rem!important}
  html body .program-page .ledger-settlement-selector>.field>span{font-size:.54rem!important;margin-bottom:1px!important}
  html body .program-page .ledger-settlement-selector>.ledger-report-capture{min-height:30px!important;height:30px!important;margin-left:2px!important;padding:2px 6px!important;font-size:.62rem!important}
}

/* 7.1.121: ledger settlement mode dropdown + stable landscape capture + edge-aligned fee/ledger jumps.
   Keep existing report/result geometry. Only the query-control composition and requested cross-module alignment change. */
html body .program-page .ledger-settlement-query-row{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:7px 9px!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  box-sizing:border-box!important;
}
html body .program-page .ledger-settlement-query-state{
  display:flex!important;
  flex:0 0 auto!important;
  margin:0!important;
  padding:0!important;
}
html body .program-page .ledger-settlement-query-state>.ledger-section-toggle{
  flex:0 0 32px!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:1px!important;
}
html body .program-page .ledger-settlement-selector{
  display:flex!important;
  flex:1 1 auto!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:auto!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
html body .program-page .ledger-settlement-selector>.field{
  flex:0 0 auto!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
html body .program-page .ledger-settlement-selector>.ledger-settlement-mode-filter{
  width:94px!important;
  min-width:94px!important;
  max-width:94px!important;
}
html body .program-page .ledger-settlement-selector>.ledger-month-filter{
  width:66px!important;
  min-width:66px!important;
  max-width:66px!important;
}
html body .program-page .ledger-settlement-selector>.ledger-year-filter{
  width:78px!important;
  min-width:78px!important;
  max-width:78px!important;
}
html body .program-page .ledger-settlement-selector>.field>span{
  font-size:.62rem!important;
  line-height:1!important;
  margin-bottom:2px!important;
  white-space:nowrap!important;
}
html body .program-page .ledger-settlement-selector :is(input,select){
  min-height:32px!important;
  height:32px!important;
  padding:3px 5px!important;
  font-size:.72rem!important;
}
html body .program-page .ledger-settlement-selector>.ledger-report-capture{
  flex:0 0 auto!important;
  min-height:32px!important;
  height:32px!important;
  margin:0 0 0 auto!important;
  padding:3px 9px!important;
  font-size:.7rem!important;
}

/* Cross-module jump always owns the far-right edge of its action row. */
html body .program-page :is(.ledger-actions,.fee-register-actions){
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:4px!important;
  min-width:0!important;
  max-width:none!important;
}
html body .program-page :is(.ledger-actions,.fee-register-actions)>.cross-module-jump{
  position:static!important;
  inset:auto!important;
  flex:0 0 auto!important;
  margin-left:auto!important;
  margin-right:0!important;
  align-self:flex-end!important;
  white-space:nowrap!important;
}
@media (min-width:981px){
  html body .program-page .form-bar.ledger-entry-grid{
    grid-template-columns:minmax(125px,.9fr) minmax(82px,.55fr) minmax(150px,1.1fr) minmax(105px,.75fr) minmax(190px,1.7fr) minmax(150px,1fr)!important;
  }
  html body .program-page .form-bar.fee-entry-grid{
    grid-template-columns:118px minmax(125px,1fr) minmax(190px,1.5fr) minmax(130px,1fr) minmax(150px,1fr)!important;
  }
  html body .program-page :is(.ledger-entry-grid>.ledger-actions,.fee-entry-grid>.fee-register-actions){
    width:100%!important;
    min-width:150px!important;
    max-width:none!important;
  }
}
@media (min-width:621px) and (max-width:980px) and (orientation:landscape){
  html body .program-page :is(.ledger-entry-grid>.ledger-actions,.fee-entry-grid>.fee-register-actions){
    width:100%!important;
    min-width:118px!important;
    max-width:none!important;
  }
}

@media (max-width:620px) and (orientation:portrait){
  html body .program-page .ledger-settlement-query-row{
    gap:2px!important;
    padding:5px!important;
  }
  html body .program-page .ledger-settlement-query-state>.ledger-section-toggle{
    flex-basis:28px!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:30px!important;
    min-height:30px!important;
  }
  html body .program-page .ledger-settlement-selector{gap:2px!important}
  html body .program-page .ledger-settlement-selector>.ledger-settlement-mode-filter{
    width:78px!important;min-width:78px!important;max-width:78px!important;
  }
  html body .program-page .ledger-settlement-selector>.ledger-month-filter{
    width:56px!important;min-width:56px!important;max-width:56px!important;
  }
  html body .program-page .ledger-settlement-selector>.ledger-year-filter{
    width:66px!important;min-width:66px!important;max-width:66px!important;
  }
  html body .program-page .ledger-settlement-selector :is(input,select){
    min-height:30px!important;height:30px!important;padding:2px 3px!important;font-size:.64rem!important;
  }
  html body .program-page .ledger-settlement-selector>.field>span{font-size:.54rem!important;margin-bottom:1px!important}
  html body .program-page .ledger-settlement-selector>.ledger-report-capture{
    min-height:30px!important;height:30px!important;margin-left:auto!important;padding:2px 6px!important;font-size:.62rem!important;
  }

  /* Phone management input: fields remain above; save is left and the requested jump is at the right edge on the same action line. */
  html body .program-page .form-bar.ledger-entry-grid,
  html body .program-page .form-bar.fee-entry-grid{
    flex-wrap:wrap!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
  }
  html body .program-page .form-bar.ledger-entry-grid>.ledger-actions,
  html body .program-page .form-bar.fee-entry-grid>.fee-register-actions{
    flex:0 0 100%!important;
    width:100%!important;
    min-width:100%!important;
    max-width:100%!important;
    margin:2px 0 0!important;
    padding:0!important;
    justify-content:flex-start!important;
  }
  html body .program-page .form-bar.ledger-entry-grid>.ledger-actions>.btn,
  html body .program-page .form-bar.fee-entry-grid>.fee-register-actions>.btn{
    flex:0 0 28px!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:28px!important;
    min-height:28px!important;
  }
  html body .program-page :is(.ledger-actions,.fee-register-actions)>.cross-module-jump{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:44px!important;
    max-width:none!important;
    height:28px!important;
    min-height:28px!important;
    margin-left:auto!important;
    padding:2px 6px!important;
    font-size:.58rem!important;
  }
}

/* 7.1.121: six-inch/tablet ledger input stays on one row.
   Override the phone portrait action-row wrap only for the ledger input form; keep field order and actions unchanged. */
@media (min-width:340px) and (max-width:980px){
  html body .program-page .form-bar.ledger-entry-grid{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:1px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:visible!important;
  }
  html body .program-page .form-bar.ledger-entry-grid>.field{
    flex:0 0 auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(1){flex-basis:62px!important;width:62px!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(2){flex-basis:42px!important;width:42px!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(3){flex-basis:58px!important;width:58px!important}
  html body .program-page .form-bar.ledger-entry-grid>.field:nth-of-type(4){flex-basis:48px!important;width:48px!important}
  html body .program-page .form-bar.ledger-entry-grid>.ledger-note-field{flex:0 0 54px!important;width:54px!important;min-width:54px!important}
  html body .program-page .form-bar.ledger-entry-grid>.ledger-actions{
    flex:1 1 66px!important;
    width:auto!important;
    min-width:66px!important;
    max-width:none!important;
    margin:0!important;
    padding:0!important;
    gap:1px!important;
    justify-content:flex-start!important;
  }
  html body .program-page .form-bar.ledger-entry-grid>.ledger-actions>.btn{
    flex:0 0 28px!important;
    width:28px!important;
    min-width:28px!important;
    max-width:28px!important;
    height:28px!important;
    min-height:28px!important;
    padding:1px!important;
  }
  html body .program-page .form-bar.ledger-entry-grid>.ledger-actions>.cross-module-jump{
    flex:0 0 36px!important;
    width:36px!important;
    min-width:36px!important;
    max-width:36px!important;
    height:28px!important;
    min-height:28px!important;
    margin-left:auto!important;
    margin-right:0!important;
    padding:2px 1px!important;
    font-size:.52rem!important;
    text-align:center!important;
  }
  html body .program-page .form-bar.ledger-entry-grid :is(input,select){
    min-height:28px!important;
    height:28px!important;
    padding:2px!important;
    font-size:.58rem!important;
  }
  html body .program-page .form-bar.ledger-entry-grid>.field>span{
    font-size:.5rem!important;
    line-height:1!important;
    margin-bottom:1px!important;
  }
}

/* 7.1.122: ledger settlement query controls stay left; capture owns the far-right edge.
   Put the management query toggle inside the same flex row as mode/auxiliary fields so old
   report-toolbar/grid rules cannot separate or push those controls off-screen. */
html body .program-page .ledger-settlement-query-row{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  padding:7px 9px!important;
  overflow:hidden!important;
  box-sizing:border-box!important;
}
html body .program-page .ledger-settlement-selector{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:4px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
}
html body .program-page .ledger-settlement-selector>.ledger-settlement-query-toggle{
  display:inline-flex!important;
  flex:0 0 32px!important;
  width:32px!important;
  min-width:32px!important;
  max-width:32px!important;
  height:32px!important;
  min-height:32px!important;
  margin:0!important;
  padding:1px!important;
  align-self:flex-end!important;
}
html body .program-page .ledger-settlement-selector>.ledger-settlement-mode-filter,
html body .program-page .ledger-settlement-selector>.ledger-month-filter,
html body .program-page .ledger-settlement-selector>.ledger-year-filter{
  flex:0 0 auto!important;
  margin:0!important;
}
html body .program-page .ledger-settlement-selector>.ledger-settlement-mode-filter{
  width:94px!important;min-width:94px!important;max-width:94px!important;
}
html body .program-page .ledger-settlement-selector>.ledger-month-filter{
  width:66px!important;min-width:66px!important;max-width:66px!important;
}
html body .program-page .ledger-settlement-selector>.ledger-year-filter{
  width:78px!important;min-width:78px!important;max-width:78px!important;
}
html body .program-page .ledger-settlement-selector>.ledger-settlement-spacer{
  display:block!important;
  flex:1 1 auto!important;
  min-width:0!important;
  height:1px!important;
}
html body .program-page .ledger-settlement-selector>.ledger-report-capture{
  flex:0 0 auto!important;
  margin-left:auto!important;
  margin-right:0!important;
  align-self:flex-end!important;
}

/* View/member modes have no input/query toggle; mode and the active auxiliary field still
   start at the program's left edge. */
html body .program-page .ledger-settlement-view-row .ledger-settlement-selector{
  justify-content:flex-start!important;
}

/* Phone portrait: keep the selected auxiliary field directly after the mode selector.
   The server renders only one auxiliary field and the dedicated mode-change handler navigates
   immediately, preventing old month/year controls from crossing or persisting. */
@media (max-width:620px) and (orientation:portrait){
  html body .program-page .ledger-settlement-query-row{padding:5px!important}
  html body .program-page .ledger-settlement-selector{gap:2px!important}
  html body .program-page .ledger-settlement-selector>.ledger-settlement-query-toggle{
    flex-basis:28px!important;width:28px!important;min-width:28px!important;max-width:28px!important;
    height:30px!important;min-height:30px!important;
  }
  html body .program-page .ledger-settlement-selector>.ledger-settlement-mode-filter{
    width:78px!important;min-width:78px!important;max-width:78px!important;
  }
  html body .program-page .ledger-settlement-selector>.ledger-month-filter{
    width:56px!important;min-width:56px!important;max-width:56px!important;
  }
  html body .program-page .ledger-settlement-selector>.ledger-year-filter{
    width:66px!important;min-width:66px!important;max-width:66px!important;
  }
  html body .program-page .ledger-settlement-selector :is(input,select){
    min-height:30px!important;height:30px!important;padding:2px 3px!important;font-size:.64rem!important;
  }
  html body .program-page .ledger-settlement-selector>.field>span{font-size:.54rem!important;margin-bottom:1px!important}
  html body .program-page .ledger-settlement-selector>.ledger-report-capture{
    min-height:30px!important;height:30px!important;padding:2px 6px!important;font-size:.62rem!important;
  }

  /* Fee entry: keep 월회비 → 저장 → 회계>> on the same line. 7.1.121's full-width
     action-row override is intentionally cancelled only for this fee input form. */
  html body .program-page .form-bar.fee-entry-grid,
  html body .program-page .form-bar.fee-entry-grid.fit-fixed-field-row{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    gap:1px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scrollbar-width:none!important;
  }
  html body .program-page .form-bar.fee-entry-grid::-webkit-scrollbar{display:none!important}
  html body .program-page .form-bar.fee-entry-grid>.field{
    flex:0 0 auto!important;min-width:0!important;max-width:none!important;margin:0!important;
  }
  html body .program-page .form-bar.fee-entry-grid>.fee-equal-field{flex-basis:60px!important;width:60px!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-date-field{flex-basis:66px!important;width:66px!important}
  html body .program-page .form-bar.fee-entry-grid>.field.w3{flex-basis:62px!important;width:62px!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-monthly-field{flex-basis:52px!important;width:52px!important}
  html body .program-page .form-bar.fee-entry-grid>.fee-register-actions{
    display:flex!important;
    flex:0 0 68px!important;
    width:68px!important;
    min-width:68px!important;
    max-width:68px!important;
    margin:0!important;
    padding:0!important;
    gap:1px!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  html body .program-page .form-bar.fee-entry-grid>.fee-register-actions>.btn{
    flex:0 0 27px!important;width:27px!important;min-width:27px!important;max-width:27px!important;
    height:28px!important;min-height:28px!important;padding:1px!important;
  }
  html body .program-page .form-bar.fee-entry-grid>.fee-register-actions>.cross-module-jump{
    flex:0 0 40px!important;width:40px!important;min-width:40px!important;max-width:40px!important;
    height:28px!important;min-height:28px!important;margin:0!important;padding:1px 2px!important;
    font-size:.56rem!important;text-align:center!important;
  }
}

/* 7.1.126: LEDGER SETTLEMENT RESULT-BOX 2-AXIS SCROLL.
   Only the monthly/annual result box owns vertical/horizontal scrolling. Query controls, title, subtitle,
   summary cards and capture button remain outside the scroller. capture-rendering is excluded so the
   established report image layout is unchanged. */
html:has(body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen)){
  height:100%!important;
  min-height:0!important;
  max-height:100%!important;
  overflow:hidden!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen){
  display:flex!important;
  flex-direction:column!important;
  height:100dvh!important;
  min-height:0!important;
  max-height:100dvh!important;
  overflow:hidden!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen)>header.site-head{
  flex:0 0 auto!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen)>main.program-page{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:min(1520px,97vw)!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin-top:8px!important;
  margin-bottom:4px!important;
  padding-bottom:0!important;
  overflow:hidden!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen)>main.program-page>.ledger-settlement-query-row{
  flex:0 0 auto!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) main.program-page>.capture-scroll.program-report-surface{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) main.program-page #report-capture.program-report-capture:not(.capture-rendering){
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) main.program-page #report-capture:not(.capture-rendering)>.capture-title,
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) main.program-page #report-capture:not(.capture-rendering)>.capture-subtitle{
  flex:0 0 auto!important;
}
html body.program-page-screen.ledger-monthly-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.monthly-report-shell,
html body.program-page-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering)>.annual-report-shell{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) main.program-page #report-capture:not(.capture-rendering) :is(.monthly-report-shell,.annual-report-shell)>.summary{
  flex:0 0 auto!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen) main.program-page #report-capture:not(.capture-rendering) .ledger-settlement-result-scroll{
  display:block!important;
  flex:1 1 auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:auto!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  scrollbar-gutter:stable!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y pinch-zoom!important;
  border:1px solid var(--line)!important;
  border-radius:4px!important;
  background:#fff!important;
}
html body.program-page-screen.ledger-monthly-report-page-screen main.program-page #report-capture:not(.capture-rendering) .ledger-monthly-result-scroll>.monthly-settlement-grid{
  display:block!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:max-content!important;
  max-height:none!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
}
html body.program-page-screen.ledger-monthly-report-page-screen main.program-page #report-capture:not(.capture-rendering) .ledger-monthly-result-scroll>.monthly-settlement-grid>.monthly-settlement-table{
  display:table!important;
  width:max-content!important;
  min-width:max(100%,760px)!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
}
html body.program-page-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering) .ledger-annual-result-scroll>.annual-report-split{
  display:grid!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:max-content!important;
  max-height:none!important;
  grid-template-columns:minmax(430px,1fr) minmax(560px,1.18fr)!important;
  gap:10px!important;
  align-items:start!important;
  overflow:visible!important;
}
html body.program-page-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering) .ledger-annual-result-scroll>.annual-report-split>section{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:max-content!important;
  max-height:none!important;
  overflow:visible!important;
}
html body.program-page-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering) .ledger-annual-result-scroll .table-wrap{
  display:block!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:max-content!important;
  max-height:none!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
}
html body.program-page-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering) .ledger-annual-result-scroll .data-table{
  display:table!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
}
@media (max-width:620px) and (orientation:portrait){
  html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen)>main.program-page{
    width:100%!important;
    margin-top:4px!important;
    padding-left:4px!important;
    padding-right:4px!important;
  }
  html body.program-page-screen.ledger-annual-report-page-screen main.program-page #report-capture:not(.capture-rendering) .ledger-annual-result-scroll>.annual-report-split{
    grid-template-columns:minmax(560px,1fr)!important;
  }
}

/* Query mode additions use the same compact auxiliary-field dimensions as the existing week filter. */
html body .program-page .game-query-inline-toolbar>.game-query-weeks-filter,
html body .program-page .game-query-toolbar>.game-query-weeks-filter{
  flex:0 0 auto!important;
}
@media (max-width:620px) and (orientation:portrait){
  html body.mode-manage.game-query-page-screen main.game-query-page .filter-bar.game-query-inline-toolbar>.game-query-weeks-filter{
    flex-basis:66px!important;width:66px!important;min-width:66px!important;max-width:66px!important;
  }
  html body.game-query-page-screen:not(.mode-manage) main.game-query-page>.game-query-toolbar>.game-query-weeks-filter{
    order:3!important;flex-basis:70px!important;width:70px!important;min-width:70px!important;max-width:70px!important;
  }
}

/* Game record input: the save/register icon belongs immediately after the note field, never at the far right. */
html body.game-input-page-screen main.game-input-page .game-entry-grid>.game-entry-save-actions{
  display:inline-flex!important;
  flex:0 0 auto!important;
  width:auto!important;
  min-width:34px!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  padding-left:0!important;
  padding-right:0!important;
  align-items:flex-end!important;
  justify-content:flex-start!important;
  gap:2px!important;
}

/* 7.1.127: tablet/phone game-report cleanup + ledger data-only 2-axis scroll.
   Game reports entered from the unified game-query screen no longer expose the legacy report-switch
   selector on <=980px screens. The query-screen report icon is the single navigation source there.
   Ledger settlement headers remain pinned while only data moves inside the result viewport. */
@media (max-width:980px){
  html body .program-page .game-report-filter .game-report-menu-filter{
    display:none!important;
  }
}

html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen)
main.program-page #report-capture:not(.capture-rendering) .ledger-settlement-result-scroll{
  position:relative!important;
  overflow:auto!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  min-width:0!important;
  min-height:0!important;
  scrollbar-gutter:stable both-edges!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y pinch-zoom!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen)
main.program-page #report-capture:not(.capture-rendering) .ledger-settlement-result-scroll .table-wrap{
  overflow:visible!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen)
main.program-page #report-capture:not(.capture-rendering) .ledger-settlement-result-scroll .data-table>thead>tr>th{
  position:sticky!important;
  top:0!important;
  z-index:90!important;
  background:var(--table-head,#dbeafe)!important;
  box-shadow:0 1px 0 rgba(35,72,108,.32)!important;
  white-space:nowrap!important;
}
html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen)
main.program-page #report-capture:not(.capture-rendering) .ledger-settlement-result-scroll .data-table>tbody>tr>td{
  white-space:nowrap!important;
}

/* Monthly settlement: shrink to meaningful content minima before horizontal overflow starts. */
html body.program-page-screen.ledger-monthly-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .ledger-monthly-result-scroll>.monthly-settlement-grid>.monthly-settlement-table{
  table-layout:auto!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
}
html body.program-page-screen.ledger-monthly-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .monthly-settlement-table :is(th,td):nth-child(1){min-width:42px!important;width:42px!important}
html body.program-page-screen.ledger-monthly-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .monthly-settlement-table :is(th,td):nth-child(2){min-width:58px!important;width:58px!important}
html body.program-page-screen.ledger-monthly-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .monthly-settlement-table :is(th,td):nth-child(3){min-width:48px!important;width:48px!important}
html body.program-page-screen.ledger-monthly-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .monthly-settlement-table :is(th,td):nth-child(4){min-width:66px!important}
html body.program-page-screen.ledger-monthly-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .monthly-settlement-table :is(th,td):nth-child(5){min-width:82px!important;width:82px!important}
html body.program-page-screen.ledger-monthly-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .monthly-settlement-table :is(th,td):nth-child(6){min-width:180px!important}

/* Annual settlement: keep both tables readable at the smallest non-clipping width. */
html body.program-page-screen.ledger-annual-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .ledger-annual-result-scroll>.annual-report-split{
  grid-template-columns:minmax(340px,max-content) minmax(450px,max-content)!important;
}
html body.program-page-screen.ledger-annual-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .annual-monthly-table :is(th,td):nth-child(1){min-width:40px!important;width:40px!important}
html body.program-page-screen.ledger-annual-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .annual-monthly-table :is(th,td):nth-child(n+2){min-width:82px!important}
html body.program-page-screen.ledger-annual-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .annual-category-table :is(th,td):nth-child(1){min-width:56px!important;width:56px!important}
html body.program-page-screen.ledger-annual-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .annual-category-table :is(th,td):nth-child(2){min-width:126px!important}
html body.program-page-screen.ledger-annual-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .annual-category-table :is(th,td):nth-child(3){min-width:120px!important}
html body.program-page-screen.ledger-annual-report-page-screen main.program-page
#report-capture:not(.capture-rendering) .annual-category-table :is(th,td):nth-child(4){min-width:92px!important;width:92px!important}

@media (max-width:620px) and (orientation:portrait){
  html body.program-page-screen:is(.ledger-monthly-report-page-screen,.ledger-annual-report-page-screen)
  main.program-page #report-capture:not(.capture-rendering) .ledger-settlement-result-scroll{
    width:100%!important;
    max-width:100%!important;
    scrollbar-gutter:auto!important;
  }
  html body.program-page-screen.ledger-monthly-report-page-screen main.program-page
  #report-capture:not(.capture-rendering) .ledger-monthly-result-scroll>.monthly-settlement-grid>.monthly-settlement-table{
    min-width:max(100%,476px)!important;
  }
  html body.program-page-screen.ledger-annual-report-page-screen main.program-page
  #report-capture:not(.capture-rendering) .ledger-annual-result-scroll>.annual-report-split{
    display:grid!important;
    grid-template-columns:minmax(450px,max-content)!important;
    width:max-content!important;
    min-width:100%!important;
    gap:8px!important;
  }
}


/* 7.1.128: portrait locker width-fit + member game-query inline report surfaces.
   Locker management/view screens use the device width first and retain only value-safe column minima;
   overflow beyond the device belongs to the locker result grid. Regular members see non-ALL game query
   results directly in the same pre-capture report surface on every orientation, without a separate report UI. */
@media (orientation:portrait) and (max-width:980px){
  html body .program-page .table-wrap.locker-result-grid,
  html body.locker-report-page-screen .program-page #report-capture:not(.capture-rendering) .locker-result-grid{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    scrollbar-gutter:auto!important;
    box-sizing:border-box!important;
  }
  html body .program-page .table-wrap.locker-result-grid>.data-table.locker-result-table,
  html body.locker-report-page-screen .program-page #report-capture:not(.capture-rendering) .locker-result-grid>.locker-result-table{
    display:table!important;
    width:max-content!important;
    min-width:max(100%, 700px)!important;
    max-width:none!important;
    table-layout:fixed!important;
    white-space:nowrap!important;
    font-size:clamp(.68rem,2.2vw,.78rem)!important;
  }
  html body .program-page .locker-result-table :is(th,td){
    padding:4px 2px!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  html body .program-page .locker-result-table :is(th,td):nth-child(1){width:36px!important;min-width:36px!important}
  html body .program-page .locker-result-table :is(th,td):nth-child(2){width:72px!important;min-width:72px!important}
  html body .program-page .locker-result-table :is(th,td):nth-child(3){width:46px!important;min-width:46px!important}
  html body .program-page .locker-result-table :is(th,td):nth-child(4){width:112px!important;min-width:112px!important}
  html body .program-page .locker-result-table :is(th,td):nth-child(5){width:66px!important;min-width:66px!important}
  html body .program-page .locker-result-table :is(th,td):nth-child(6),
  html body .program-page .locker-result-table :is(th,td):nth-child(7){width:78px!important;min-width:78px!important}
  html body .program-page .locker-result-table :is(th,td):nth-child(8),
  html body .program-page .locker-result-table :is(th,td):nth-child(9),
  html body .program-page .locker-result-table :is(th,td):nth-child(10){width:70px!important;min-width:70px!important}
  html body .program-page .locker-result-table :is(th,td):nth-child(11){width:54px!important;min-width:54px!important}
}

html body.role-member.member-game-query-page-screen main.game-query-page .game-query-report,
html body.role-member.member-game-query-page-screen main.game-query-page .game-report-tabs,
html body.role-member.member-game-query-page-screen main.game-query-page .game-report-menu-filter{
  display:none!important;
}

/* 7.1.130: regular-member game query uses one dedicated result viewport on portrait phone/tablet.
   Query controls stay above it. The result viewport alone owns vertical scrolling, while any table that
   genuinely exceeds device width may own horizontal panning. This replaces 7.1.129's competing nested
   vertical scroll owners and the generic live-report split is disabled in app.js for this page. */
html body.role-member.member-game-query-page-screen main.game-query-page .member-game-result-viewport{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}
html body.role-member.member-game-query-page-screen main.game-query-page .member-game-result-viewport .capture-scroll.program-report-surface{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  margin:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
html body.role-member.member-game-query-page-screen main.game-query-page .member-game-result-viewport .capture-scroll.program-report-surface>.capture-area.program-report-capture:not(.capture-rendering){
  display:block!important;
  width:100%!important;
  min-width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  margin:0!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}

@media (max-width:980px) and (orientation:portrait){
  :root{--member-game-result-bottom-inset:4}
  html:has(body.role-member.member-game-query-page-screen){
    position:fixed!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  html body.role-member.member-game-query-page-screen{
    position:fixed!important;
    inset:0!important;
    display:block!important;
    width:100%!important;
    height:100dvh!important;
    min-height:0!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    overscroll-behavior:none!important;
  }
  html body.role-member.member-game-query-page-screen>main.program-page.game-query-page{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin-bottom:0!important;
    padding-bottom:0!important;
    overflow:hidden!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar{
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    margin-bottom:6px!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:var(--member-game-result-height,calc(100dvh - 196px))!important;
    min-height:96px!important;
    max-height:var(--member-game-result-height,calc(100dvh - 196px))!important;
    margin:0!important;
    padding:0 0 max(2px,env(safe-area-inset-bottom))!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    scrollbar-gutter:auto!important;
    box-sizing:border-box!important;
  }
  /* ALL mode: cancel the old fixed game-table height. The outer member viewport is the only vertical owner. */
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport>.table-wrap.game-query-document-grid,
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport .game-query-bulk-form>.table-wrap.game-query-document-grid{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    margin:0!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    scrollbar-gutter:auto!important;
  }
  /* Inline report mode: keep titles/summaries in normal flow and prevent inner vertical scroll ownership. */
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport .capture-scroll.program-report-surface,
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport .capture-area.program-report-capture:not(.capture-rendering){
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow:visible!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport .capture-area.program-report-capture:not(.capture-rendering) :is(
    .ranking-report-shell,
    .integration-responsive-report,
    .cumulative-report,
    .game-query-owned-result,
    .game-query-ranking-result,
    .game-query-integration-result,
    .game-query-cumulative-result
  ){
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport .capture-area.program-report-capture:not(.capture-rendering) :is(
    .ranking-report-grid,
    .game-query-integration-grid,
    .game-query-cumulative-grid,
    .meeting-record-table,
    .personal-record-grid,
    .quarter-report-grid,
    .table-wrap
  ){
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    overscroll-behavior-x:contain!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
    scrollbar-gutter:auto!important;
  }
  /* Keep table field names visible while the member result viewport scrolls vertically. */
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport .data-table>thead,
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport .data-table>thead>tr,
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport .data-table>thead>tr>th{
    position:sticky!important;
    top:0!important;
    z-index:55!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport .data-table>thead>tr>th{
    background:var(--table-head,#dbeafe)!important;
    box-shadow:0 1px 0 rgba(35,72,108,.28)!important;
  }
  /* Integration/ALL containers stretch to the calculated result viewport floor even when rows are short. */
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport .integration-responsive-report,
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport>.table-wrap.game-query-document-grid{
    min-height:100%!important;
  }
}

/* 7.1.131: phone native game-query scroll + unified member query toolbar + right-edge table visibility.
   Tablet portrait keeps the proven 7.1.130 result scrolling; only its query controls are compacted left.
   Ordinary-member desktop uses the same compact integrated query surface as phone/tablet. */

/* Tablet portrait: do not let the mode field consume the full row. Keep all visible query controls hard-left. */
@media (min-width:621px) and (max-width:980px) and (orientation:portrait){
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:4px!important;
    padding:6px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    margin-left:0!important;
    margin-right:auto!important;
    scrollbar-width:none!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar::-webkit-scrollbar{display:none!important}
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.field{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-mode-filter{flex-basis:112px!important;width:112px!important;max-width:112px!important}
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-year-filter{flex-basis:72px!important;width:72px!important;max-width:72px!important}
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-week-filter,
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-quarter-filter,
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-weeks-filter{flex-basis:92px!important;width:92px!important;max-width:92px!important}
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-member-filter{flex-basis:132px!important;width:132px!important;max-width:132px!important}
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.action-icon-button-query{flex:0 0 34px!important;width:34px!important;min-width:34px!important;max-width:34px!important}
}

/* Phones: native document scroll is the single vertical owner in both orientations. */
@media (max-width:620px), (max-width:980px) and (max-height:620px) and (orientation:landscape){
  html:has(body.role-member.member-game-query-page-screen){
    position:static!important;
    inset:auto!important;
    width:auto!important;
    height:auto!important;
    min-height:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
  }
  html body.role-member.member-game-query-page-screen{
    position:static!important;
    inset:auto!important;
    display:block!important;
    width:100%!important;
    height:auto!important;
    min-height:100dvh!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:auto!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  html body.role-member.member-game-query-page-screen>main.program-page.game-query-page{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
    padding-bottom:max(12px,env(safe-area-inset-bottom))!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:auto!important;
    min-height:calc(100dvh - 220px)!important;
    max-height:none!important;
    overflow:visible!important;
    overscroll-behavior:auto!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport :is(.capture-scroll.program-report-surface,.capture-area.program-report-capture:not(.capture-rendering)){
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.member-game-result-viewport :is(.table-wrap,.game-query-document-grid,.ranking-report-grid,.game-query-integration-grid,.game-query-cumulative-grid,.personal-record-grid,.meeting-record-table){
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-x pan-y pinch-zoom!important;
  }
}

/* Ordinary-member desktop: use the same compact integrated query form currently used on phone/tablet. */
@media (min-width:981px){
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar{
    display:flex!important;
    flex-flow:row nowrap!important;
    align-items:flex-end!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    gap:6px!important;
    padding:8px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
  }
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.field{flex:0 0 auto!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important}
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-mode-filter{flex-basis:120px!important;width:120px!important;max-width:120px!important}
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-year-filter{flex-basis:82px!important;width:82px!important;max-width:82px!important}
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-week-filter,
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-quarter-filter,
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-weeks-filter{flex-basis:104px!important;width:104px!important;max-width:104px!important}
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.game-query-member-filter{flex-basis:150px!important;width:150px!important;max-width:150px!important}
  html body.role-member.member-game-query-page-screen main.game-query-page>.game-query-toolbar>.action-icon-button-query{flex:0 0 34px!important;width:34px!important;min-width:34px!important;max-width:34px!important}
}

/* Fee management/report: protect the total amount from the right scrollbar/action edge. */
html body.fee-management-page-screen main.program-page .fee-management-result-grid{
  width:100%!important;min-width:0!important;max-width:100%!important;overflow-x:auto!important;scrollbar-gutter:auto!important
}
html body.fee-management-page-screen main.program-page .fee-management-result-grid>.fee-management-result-table{
  width:max-content!important;min-width:100%!important;max-width:none!important;table-layout:auto!important
}
html body.fee-management-page-screen main.program-page .fee-management-result-table :is(th,td):nth-child(17){
  min-width:108px!important;width:108px!important;padding-left:8px!important;padding-right:12px!important;white-space:nowrap!important
}
html body.fee-management-page-screen main.program-page .fee-management-result-table :is(th,td):last-child.actions,
html body.fee-management-page-screen main.program-page .fee-management-result-table thead th:last-child{
  min-width:66px!important;width:66px!important;padding-right:10px!important;white-space:nowrap!important
}
html body.fee-report-page-screen main.program-page #report-capture:not(.capture-rendering) .fee-report-result-table :is(th,td):last-child{
  min-width:112px!important;width:112px!important;padding-left:8px!important;padding-right:14px!important;white-space:nowrap!important
}

/* Locker join date: YY-MM-DD must never be clipped before the right edge/action column. */
html body .program-page .locker-result-table :is(th,td):nth-child(10){
  width:86px!important;min-width:86px!important;padding-left:6px!important;padding-right:8px!important;white-space:nowrap!important
}
@media (orientation:portrait) and (max-width:980px){
  html body .program-page .locker-result-table :is(th,td):nth-child(10){width:82px!important;min-width:82px!important}
}

/* Member management/report: preserve status and action content at the far-right edge. */
html body.member-management-page-screen main.member-management-page .member-management-result-grid{
  scrollbar-gutter:auto!important;
}
html body.member-management-page-screen main.member-management-page .member-management-result-table :is(th,td):nth-child(7){
  min-width:78px!important;width:78px!important;padding-left:5px!important;padding-right:8px!important;white-space:nowrap!important
}
html body.member-management-page-screen main.member-management-page .member-management-result-table :is(th,td):last-child.actions,
html body.member-management-page-screen main.member-management-page .member-management-result-table thead th:last-child{
  min-width:64px!important;width:64px!important;padding-right:10px!important;white-space:nowrap!important
}
html body.member-list-report-page-screen main.program-page #report-capture:not(.capture-rendering) .member-list-report-table :is(th,td):last-child{
  min-width:80px!important;width:80px!important;padding-left:5px!important;padding-right:10px!important;white-space:nowrap!important
}

/* 7.1.132: ordinary-member game results use one stable DATA scroll owner on PC/tablet/phone.
   Keep query controls/report headings/summaries fixed; sticky field names + data grid scroll in both axes. */
html body.role-member.member-game-query-page-screen.member-game-data-scroll-screen main.game-query-page>.member-game-result-viewport{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:var(--member-game-result-height,calc(100dvh - 190px))!important;
  min-height:110px!important;
  max-height:var(--member-game-result-height,calc(100dvh - 190px))!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  box-sizing:border-box!important;
}
html body.role-member.member-game-query-page-screen.member-game-data-scroll-screen main.game-query-page>.member-game-result-viewport :is(
  .capture-scroll.program-report-surface,
  .capture-area.program-report-capture:not(.capture-rendering),
  .ranking-report-shell,
  .integration-responsive-report,
  .cumulative-report,
  .game-query-owned-result
){
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  box-sizing:border-box!important;
}
html body.role-member.member-game-query-page-screen.member-game-data-scroll-screen main.game-query-page>.member-game-result-viewport .table-wrap{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  min-height:0!important;
  overflow-x:auto!important;
  overflow-y:auto!important;
  scrollbar-gutter:auto!important;
  overscroll-behavior:contain!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x pan-y pinch-zoom!important;
  box-sizing:border-box!important;
  position:relative!important;
  padding-right:2px!important;
}
html body.role-member.member-game-query-page-screen.member-game-data-scroll-screen main.game-query-page>.member-game-result-viewport .table-wrap>.data-table{
  display:table!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  table-layout:auto!important;
  margin-left:0!important;
  margin-right:8px!important;
}
html body.role-member.member-game-query-page-screen.member-game-data-scroll-screen main.game-query-page>.member-game-result-viewport .table-wrap>.data-table>thead,
html body.role-member.member-game-query-page-screen.member-game-data-scroll-screen main.game-query-page>.member-game-result-viewport .table-wrap>.data-table>thead>tr,
html body.role-member.member-game-query-page-screen.member-game-data-scroll-screen main.game-query-page>.member-game-result-viewport .table-wrap>.data-table>thead>tr>th{
  position:sticky!important;
  top:0!important;
  z-index:120!important;
}
html body.role-member.member-game-query-page-screen.member-game-data-scroll-screen main.game-query-page>.member-game-result-viewport .table-wrap>.data-table>thead>tr>th{
  background:var(--table-head,#dbeafe)!important;
  box-shadow:0 1px 0 rgba(35,72,108,.32)!important;
  white-space:nowrap!important;
}

/* Cancel old phone native-document and tablet outer-viewport scrolling: the DATA grid is the only scroll owner now. */
@media (max-width:980px){
  html body.role-member.member-game-query-page-screen.member-game-data-scroll-screen main.game-query-page>.member-game-result-viewport{
    overflow:hidden!important;
  }
  html body.role-member.member-game-query-page-screen.member-game-data-scroll-screen main.game-query-page>.member-game-result-viewport .table-wrap{
    overflow-x:auto!important;
    overflow-y:auto!important;
  }
}

/* Ordinary-member report pages: keep the visible result inside the program width and provide a real end gutter.
   This prevents the last amount/join-date/status value from being painted under the right boundary/scrollbar. */
html body.role-member:is(.fee-report-page-screen,.locker-report-page-screen,.member-list-report-page-screen) main.program-page .capture-scroll.program-report-surface{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  box-sizing:border-box!important;
}
html body.role-member:is(.fee-report-page-screen,.locker-report-page-screen,.member-list-report-page-screen) main.program-page #report-capture.program-report-capture:not(.capture-rendering){
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:visible!important;
  box-sizing:border-box!important;
  padding-right:6px!important;
}
html body.role-member:is(.fee-report-page-screen,.locker-report-page-screen,.member-list-report-page-screen) main.program-page #report-capture:not(.capture-rendering) :is(.fee-report-result-grid,.locker-result-grid,.member-list-report-grid){
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
  scrollbar-gutter:auto!important;
  box-sizing:border-box!important;
  padding-right:3px!important;
}
html body.role-member:is(.fee-report-page-screen,.locker-report-page-screen,.member-list-report-page-screen) main.program-page #report-capture:not(.capture-rendering) :is(.fee-report-result-table,.locker-result-table,.member-list-report-table){
  display:table!important;
  width:max-content!important;
  min-width:100%!important;
  max-width:none!important;
  table-layout:auto!important;
  margin-right:10px!important;
}
html body.role-member.fee-report-page-screen main.program-page #report-capture:not(.capture-rendering) .fee-report-result-table :is(th,td):last-child{
  min-width:116px!important;
  width:116px!important;
  padding-left:8px!important;
  padding-right:16px!important;
  white-space:nowrap!important;
}
html body.role-member.locker-report-page-screen main.program-page #report-capture:not(.capture-rendering) .locker-result-table :is(th,td):nth-child(10){
  min-width:90px!important;
  width:90px!important;
  padding-left:6px!important;
  padding-right:12px!important;
  white-space:nowrap!important;
}


/* 7.1.134: general-member PC contact view gets one explicit top-right back control.
   The member-wide report toolbar remains hidden; mobile/tablet contact layouts stay unchanged. */
.member-contact-pc-back{display:none}
@media (min-width:981px){
  html body.role-member.contact-page-screen main.program-page.contact-page>.member-contact-pc-back{
    display:flex!important;
    width:100%!important;
    min-width:0!important;
    justify-content:flex-end!important;
    align-items:center!important;
    margin:0 0 6px!important;
    padding:0 2px!important;
    box-sizing:border-box!important;
  }
  html body.role-member.contact-page-screen main.program-page.contact-page>.member-contact-pc-back .member-contact-back-link{
    flex:0 0 auto!important;
    margin-left:auto!important;
  }
}

/* 7.1.134: ordinary-member PC result containers automatically consume the available width to the
   browser's right edge. JS measures each top-level result host whenever the viewport/program size changes.
   Keep the host's existing left position, stretch only the result area, and preserve horizontal scrolling
   when the table's safe minimum column widths are wider than the available result width. */
@media (min-width:981px){
  html body.role-member.member-pc-auto-result-width-screen main.program-page>.member-pc-auto-result-host{
    display:block!important;
    width:var(--member-pc-auto-result-width,100%)!important;
    min-width:0!important;
    max-width:var(--member-pc-auto-result-width,100%)!important;
    box-sizing:border-box!important;
    margin-right:0!important;
  }
  html body.role-member.member-pc-auto-result-width-screen main.program-page>.member-pc-auto-result-host :is(
    .capture-scroll.program-report-surface,
    .capture-area.program-report-capture:not(.capture-rendering),
    .member-game-result-viewport,
    .table-wrap
  ){
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }
  html body.role-member.member-pc-auto-result-width-screen main.program-page>.member-pc-auto-result-host .table-wrap{
    overflow-x:auto!important;
    scrollbar-gutter:auto!important;
  }
  html body.role-member.member-pc-auto-result-width-screen main.program-page>.member-pc-auto-result-host .table-wrap>.data-table{
    display:table!important;
    width:max-content!important;
    min-width:100%!important;
    max-width:none!important;
    table-layout:auto!important;
  }
}


/* 7.1.136: monthly settlement overall balance card.
   Keep the existing monthly income/expense/balance order and append the all-ledger balance through
   the latest entered ledger date. Four cards share the available width on PC/tablet; phone portrait
   keeps every amount readable without changing the report/capture/table coordinates. */
html body.ledger-monthly-report-page-screen main.program-page #report-capture .monthly-report-shell>.summary{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  align-items:stretch!important;
}
html body.ledger-monthly-report-page-screen main.program-page #report-capture .monthly-report-shell>.summary>.summary-card{
  min-width:0!important;
}
@media (max-width:620px) and (orientation:portrait){
  html body.ledger-monthly-report-page-screen main.program-page #report-capture:not(.capture-rendering) .monthly-report-shell>.summary{
    gap:4px!important;
  }
  html body.ledger-monthly-report-page-screen main.program-page #report-capture:not(.capture-rendering) .monthly-report-shell>.summary>.summary-card{
    padding:5px 5px!important;
  }
  html body.ledger-monthly-report-page-screen main.program-page #report-capture:not(.capture-rendering) .monthly-report-shell>.summary>.summary-card span{
    font-size:.68rem!important;
    white-space:normal!important;
    line-height:1.1!important;
  }
  html body.ledger-monthly-report-page-screen main.program-page #report-capture:not(.capture-rendering) .monthly-report-shell>.summary>.summary-card strong{
    font-size:.96rem!important;
    white-space:nowrap!important;
    letter-spacing:-.02em!important;
  }
}
