
*{box-sizing:border-box}body{font-family:Arial,"Noto Sans KR",sans-serif;margin:0;background:#f3f6fa;color:#142033}button,input,select{font:inherit}
header{height:64px;background:linear-gradient(90deg,#073b6f,#0b3158);color:#fff;padding:0 24px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:20}
header b{font-size:23px}#user{font-weight:700}.shell{display:flex;min-height:calc(100vh - 64px)}.sidebar{width:220px;background:#13243a;color:#eaf2fb;padding:18px 10px;flex:none}.nav{padding:13px 16px;border-radius:8px;margin:5px 0}.nav.active{background:#1f5d98;font-weight:700}.main{flex:1;min-width:0}.wrap{max-width:1320px;margin:auto;padding:18px}
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:12px 14px 8px;margin-bottom:16px;position:sticky;top:72px;z-index:15;box-shadow:0 5px 14px #10203018}.step{display:flex;gap:10px;align-items:center;font-weight:700;cursor:pointer;position:relative;padding-bottom:20px}.step:hover{background:#f7fbff;border-radius:8px}.step-status{position:absolute;left:46px;bottom:1px;font-size:12px;font-weight:700;color:#7b8794}.step.done .step-status{color:#079447}.step.done span{background:#087ac1}.step.current{color:#075fc7}.step.current span{background:#075fc7}.progress-line{grid-column:1/-1;height:7px;background:#dfe6ee;border-radius:99px;overflow:hidden;margin-top:-4px}.progress-fill{height:100%;background:#0aa35b;width:0;transition:width .25s}.step span{width:36px;height:36px;border-radius:50%;background:#7b8794;color:#fff;display:grid;place-items:center}.step.active{color:#075fc7}.step.active span{background:#075fc7}
.card{background:#fff;border:1px solid #e5eaf0;border-radius:12px;padding:20px;margin:14px 0;box-shadow:0 2px 10px #1020300a}.card h2{margin:0 0 14px;font-size:24px}.card h2::first-letter{color:#075fc7}
input,select{padding:10px 12px;border:1px solid #cfd8e3;border-radius:7px;margin:3px;background:#fff;min-width:120px}button{cursor:pointer;border:1px solid #12365b;border-radius:7px;padding:10px 14px;margin:4px;background:#10243c;color:#fff;font-weight:700}.ok{background:#087a42;border-color:#087a42}.danger{background:#fff;color:#d92929;border-color:#ff5252}
table{width:100%;border-collapse:collapse;margin-top:10px}th{background:#f4f7fa;font-weight:700}th,td{padding:10px;border:1px solid #e2e7ed;text-align:right}th:first-child,td:first-child{text-align:left}.badge{padding:4px 8px;border-radius:999px;background:#eaf0f6}.hidden{display:none!important}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
#rules input{width:96%;margin:0}.info{background:#eaf5ff;border-radius:8px;padding:14px;line-height:1.7}.actionbar{background:#eaf5ff;border-radius:8px;padding:12px;margin-top:14px}
@media(max-width:900px){.sidebar{display:none}.steps{grid-template-columns:1fr 1fr}.grid{grid-template-columns:1fr 1fr}.wrap{padding:10px}table{font-size:12px;display:block;overflow:auto}}

.exec-status{margin-top:12px;border:1px solid #dce6f0;border-radius:10px;padding:12px;background:#f8fbff}
.exec-status.hidden{display:none}.exec-head{display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:700}
.exec-bar{height:10px;background:#dfe7ef;border-radius:99px;overflow:hidden;margin:10px 0}.exec-fill{height:100%;width:0;background:#087ac1;transition:width .25s}
.exec-log{font-size:13px;line-height:1.6;color:#435267}.exec-result{margin-top:8px;padding:9px;border-radius:7px;background:#eef8f2;color:#17653b;font-weight:700}
button.running{opacity:.7;cursor:not-allowed}

.step-action-wrap{margin-top:16px;width:100%;clear:both}
.step-action-btn{display:flex;align-items:center;justify-content:center;width:100%;height:64px;margin:0;border-radius:9px;background:#0868df;border:1px solid #0868df;color:#fff;font-size:18px;font-weight:800;box-shadow:0 2px 5px #075fc72a}
.step-action-btn:hover:not(:disabled){background:#075bc2}.step-action-btn:disabled{background:#8b98a7;border-color:#8b98a7;color:#fff;cursor:not-allowed}.step-action-btn.running{background:#0868df}

.exec-indeterminate{width:35%!important;animation:indeterminate 1.2s ease-in-out infinite}
@keyframes indeterminate{0%{transform:translateX(-110%)}50%{transform:translateX(100%)}100%{transform:translateX(290%)}}

.upload-result{margin-top:14px}.result-title{font-weight:800;margin:8px 0}.success-banner{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:16px;background:#e9f9f1;border-radius:8px;color:#087a42}.success-main{display:flex;align-items:center;gap:14px}.success-check{width:44px;height:44px;border-radius:50%;background:#0aa35b;color:white;display:grid;place-items:center;font-size:27px;font-weight:900}.success-main b{font-size:18px}.success-main small{display:block;color:#435267;margin-top:5px}.success-time{text-align:right;color:#435267;font-size:13px;line-height:1.6}.result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:10px}.result-box{border:1px solid #dfe8f1;border-radius:7px;background:#f8fbff;padding:10px}.result-box h4{margin:0 0 8px}.result-table{width:100%;margin:0}.result-table td{padding:6px 10px;text-align:left}.result-table td:first-child{background:#f1f5f9;width:55%}.upload-detail{margin-top:10px;border:1px solid #dfe8f1;border-radius:7px;padding:10px;background:#f8fbff}.upload-detail summary{cursor:pointer;font-weight:800}.upload-detail table td,.upload-detail table th{text-align:center}.upload-detail table td:nth-child(2){text-align:left}@media(max-width:900px){.result-grid{grid-template-columns:1fr}.success-banner{align-items:flex-start;flex-direction:column}.success-time{text-align:left}}

/* Unified layout: sidebar and all settlement cards share one content grid. */
:root{--sidebar-w:216px;--topbar-h:64px}
html,body{width:100%;max-width:100%;overflow-x:hidden}
.shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:calc(100vh - var(--topbar-h))}
.sidebar{width:var(--sidebar-w);min-width:0;position:sticky;top:var(--topbar-h);height:calc(100vh - var(--topbar-h));overflow-y:auto;align-self:start}
.main{width:100%;min-width:0;max-width:100%;margin:0;overflow:visible}
.wrap{width:100%;max-width:none;margin:0;padding:24px 20px 40px;min-width:0}
#app,#settlementManagePage{width:100%;min-width:0;max-width:100%}
#settlementManagePage>.card{width:100%;max-width:100%;min-width:0;margin:0 0 18px;padding:18px;overflow:hidden}
.steps{width:100%;max-width:100%;position:sticky;top:72px;z-index:15;margin:0 0 22px;isolation:isolate}
#stepPanel1,#stepPanel2,#stepPanel3,#stepPanel4{scroll-margin-top:190px}
.grid,.grid>*{min-width:0}
#stepPanel1 .grid{grid-template-columns:minmax(180px,1fr) minmax(280px,2fr)}
#stepPanel2 table{table-layout:fixed;width:100%}
#stepPanel2 input{width:100%;min-width:0}
#stepPanel2 th:last-child,#stepPanel2 td:last-child{width:90px}
.rule-save-status{margin:10px 0 0;padding:8px 12px;border-radius:7px;background:#eef8f2;color:#17653b;min-height:0}
.rule-save-status:empty{display:none}
.step-action-wrap{margin-top:12px}
.card table{max-width:100%}
input,select{max-width:100%}
.header-user{display:flex;align-items:center;gap:12px}
.logout-btn{background:transparent;color:white;border:1px solid #ffffff99}
.section-desc{margin:-4px 0 14px;color:#334155}
@media(max-width:900px){:root{--sidebar-w:0px}.shell{grid-template-columns:minmax(0,1fr)}.sidebar{display:none}.wrap{padding:12px}.steps{top:72px}.grid,#stepPanel1 .grid{grid-template-columns:1fr}}

/* Fixed header, sidebar, workflow; only main content scrolls. */
:root{--topbar-h:64px;--sidebar-w:216px}
html,body{height:100%;overflow:hidden!important}
body{height:100dvh;display:flex;flex-direction:column}
body>header{position:relative!important;top:auto!important;flex:0 0 var(--topbar-h);height:var(--topbar-h)!important;z-index:100}
.shell{flex:1 1 auto!important;min-height:0!important;height:calc(100dvh - var(--topbar-h))!important;display:grid!important;grid-template-columns:var(--sidebar-w) minmax(0,1fr)!important;overflow:hidden}
.sidebar{position:relative!important;top:auto!important;height:100%!important;min-height:0!important;overflow-y:auto!important;align-self:stretch!important}
.main{height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;scrollbar-gutter:stable}
.wrap{min-height:100%;padding-top:16px!important}
#workflowSteps.steps{position:sticky!important;top:0!important;z-index:50!important;margin:0 0 20px!important;box-shadow:0 4px 14px #1020301a;background:white}
#stepPanel1,#stepPanel2,#stepPanel3,#stepPanel4,#settlementListPanel,#settlementDetailPanel{scroll-margin-top:130px!important}
@media(max-width:900px){:root{--sidebar-w:0px}.shell{grid-template-columns:minmax(0,1fr)!important}.sidebar{display:none!important}}

/* Shared card geometry: panels 2, 3, 4 must have identical outer width. */
#settlementManagePage{display:flex;flex-direction:column!important;align-items:stretch!important;width:100%!important;min-width:0!important;gap:16px!important}
#settlementManagePage > #stepPanel1,
#settlementManagePage > #stepPanel2,
#settlementManagePage > #stepPanel3,
#settlementManagePage > #stepPanel4{display:block!important;position:relative!important;left:auto!important;right:auto!important;transform:none!important;flex:0 0 auto!important;align-self:stretch!important;box-sizing:border-box!important;width:100%!important;min-width:0!important;max-width:100%!important;margin:0!important;padding:18px!important;overflow:hidden!important}
#stepPanel2 > *,#stepPanel3 > *,#stepPanel4 > *{max-width:100%;box-sizing:border-box}
#stepPanel2 table,#stepPanel3 table,#stepPanel4 table{width:100%;max-width:100%}

header .header-user{display:flex;align-items:center;gap:16px}
header .logout-btn{display:inline-flex;align-items:center;justify-content:center;
border:1px solid #dbeafe!important;background:#ffffff!important;color:#123b69!important;
padding:9px 17px!important;border-radius:8px;font-size:14px;font-weight:700;cursor:pointer}
header .logout-btn:hover{background:#eaf3ff!important}
header .logout-btn.hidden{display:none!important}
.rule-history-panel{border:1px solid #d5e2f1;background:#f7fbff;padding:16px;border-radius:9px;margin:12px 0}
.rule-history-item{background:white;border:1px solid #e2e8f0;border-radius:8px;padding:12px;margin:9px 0}
.rule-history-item .history-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.rule-history-item .history-detail{font-size:13px;color:#475569;margin-top:8px;line-height:1.7}
.rule-history-item button{background:#0d3761;color:white}

/* Saved promotion rules: image-matched history list */
#stepPanel2 .actionbar{background:#eaf5ff;padding:9px 10px;border-radius:7px;margin-top:8px;display:flex;gap:10px;flex-wrap:wrap}
#stepPanel2 .actionbar .history-toggle{background:#1167ce;color:white}
#stepPanel2 .rule-history-panel{border:2px dashed #ef4444;background:#fff;border-radius:0;padding:14px;margin:12px 0}
#stepPanel2 .rule-history-title{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
#stepPanel2 .rule-history-title h3{margin:0;font-size:18px}
#stepPanel2 .rule-history-title span{color:#475569;font-size:12px}
#stepPanel2 .rule-history-item{display:grid;grid-template-columns:minmax(180px,24%) minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid #dfe6ee;border-radius:4px;padding:12px 14px;margin:0;min-width:0}
#stepPanel2 .rule-history-item+.rule-history-item{border-top:0}
#stepPanel2 .rule-history-item.is-current{background:#e8f3ff}
#stepPanel2 .history-meta{display:flex;flex-direction:column;gap:3px;align-items:flex-start;font-size:13px}
#stepPanel2 .current-rule-badge{display:inline-block;background:#14548b;color:white;border-radius:4px;padding:3px 7px;font-size:11px}
#stepPanel2 .history-owner,#stepPanel2 .history-count{font-size:12px;color:#64748b}
#stepPanel2 .history-detail{font-size:13px;color:#102238;line-height:1.9;margin:0;overflow-wrap:anywhere}
#stepPanel2 .history-actions{display:flex;gap:8px}
#stepPanel2 .history-actions button{padding:9px 12px;border:0;border-radius:5px;color:white;white-space:nowrap;cursor:pointer}
#stepPanel2 .history-actions .history-load{background:#0868cf}
#stepPanel2 .history-actions .history-delete{background:#dc343d}
@media(max-width:850px){#stepPanel2 .rule-history-item{grid-template-columns:1fr}#stepPanel2 .history-actions{justify-content:flex-start}}

/* ④ advance rows: match the compact row geometry of 정산 상세.
   The global input padding/min-width previously expanded each advance row. */
#stepPanel4 #advanceStandalone .table-scroll table{border-collapse:collapse;width:100%;table-layout:fixed}
#stepPanel4 #advanceStandalone .table-scroll th,
#stepPanel4 #advanceStandalone .table-scroll td{padding:5px 8px;line-height:20px;height:34px;vertical-align:middle}
#stepPanel4 #advanceStandalone .table-scroll td input[type="number"]{
  width:108px!important;max-width:calc(100% - 22px)!important;min-width:0!important;
  height:25px!important;min-height:0!important;padding:2px 6px!important;
  margin:0 4px 0 0!important;border-radius:4px;font-size:inherit;line-height:19px
}
#stepPanel4 #advanceStandalone .table-scroll th:nth-child(1){width:34%}
#stepPanel4 #advanceStandalone .table-scroll th:nth-child(2){width:12%}
#stepPanel4 #advanceStandalone .table-scroll th:nth-child(3){width:30%}
#stepPanel4 #advanceStandalone .table-scroll th:nth-child(4){width:24%}

/* Menu isolation: hidden panels must override any display layout rules. */
#settlementManagePage.hidden,#riderManagePage.hidden,#workflowSteps.hidden,
#app.hidden,#login.hidden,#riderApp.hidden{display:none!important}

/* v4 canonical visibility and sizing; no page may override .hidden. */
.hidden, #settlementManagePage.hidden, #riderManagePage.hidden,
#workflowSteps.hidden, #app.hidden, #riderApp.hidden, #login.hidden {display:none!important}
#settlementManagePage:not(.hidden){display:flex;flex-direction:column;gap:16px}
#settlementManagePage > .card {width:100%;box-sizing:border-box;min-width:0;max-width:100%;margin:0}

/* Step 2 detailed result (scoped; does not change other steps). */
.promotion-result{margin:16px 0;border-top:1px solid #e2e8f0;padding-top:12px;font-size:13px}
.promotion-result h3{margin:5px 0 12px;font-size:17px}
.promo-success{background:#e8f9f0;border-radius:8px;padding:14px;display:flex;justify-content:space-between;align-items:center;gap:15px;color:#087a42}
.promo-success-main{display:flex;align-items:center;gap:12px}.promo-success-icon{width:38px;height:38px;background:#0aa35b;border-radius:50%;display:grid;place-items:center;color:white;font-size:24px;font-weight:bold;flex:none}
.promo-success strong{display:block;font-size:16px}.promo-success small{display:block;font-size:12px;line-height:1.6}
.promo-result-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}
.promo-result-box{border:1px solid #dbe4ee;border-radius:7px;padding:10px;background:#f8fbff;min-width:0}.promo-result-box h4{margin:0 0 8px}
#stepPanel2 .promo-summary-table{margin:0;table-layout:auto}#stepPanel2 .promo-summary-table td{padding:7px 10px;text-align:left}#stepPanel2 .promo-summary-table td:first-child{width:55%;background:#f0f4f8}
.promo-detail-section{border:1px solid #dbe4ee;border-radius:7px;padding:10px;margin-top:10px;background:#f8fbff}.promo-detail-section summary{cursor:pointer;font-weight:700}
.promo-table-scroll{overflow:auto;max-height:340px}.promo-detail-section table{table-layout:auto!important;min-width:660px}.promo-detail-section th,.promo-detail-section td{padding:7px 8px;font-size:12px;white-space:nowrap}
.promo-detail-section th:first-child,.promo-detail-section td:first-child{text-align:left}
@media(max-width:850px){.promo-result-grid{grid-template-columns:1fr}.promo-success{flex-direction:column;align-items:flex-start}}

/* v4: one settlement results card; retain the two inner IDs for existing JS navigation. */
#settlementResultsPanel{width:100%;max-width:100%;box-sizing:border-box;min-width:0;overflow:hidden}
#settlementResultsPanel>h2{margin:0 0 16px}
#settlementResultsPanel .settlement-results-list,
#settlementResultsPanel .settlement-results-detail{display:block!important;position:static!important;box-sizing:border-box;width:100%;max-width:100%;min-width:0;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
#settlementResultsPanel .settlement-results-detail{margin-top:22px;padding-top:20px;border-top:1px solid #dbe4ee}
#settlementResultsPanel h3{font-size:16px;margin:0 0 12px;color:#123c70}
#settlementResultsPanel .settlement-results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
#settlementResultsPanel .settlement-results-toolbar h3{margin:0}
#settlementResultsPanel .settlement-results-table-scroll{overflow-x:auto;max-width:100%}
#settlementResultsPanel .settlement-results-table-scroll table{width:100%;min-width:660px}
#settlementResultsPanel #detail{min-width:0;overflow-x:auto}
#settlementResultsPanel #detail table{width:100%}
#settlementResultsPanel #settlementListPanel,#settlementResultsPanel #settlementDetailPanel{scroll-margin-top:140px}

/* v4.0.3: version visible without changing header geometry */
.app-version{font-size:12px;font-weight:500;opacity:.75;margin-left:8px}

/* v4.0.4 — Unified report typography for steps 1, 2, and 3 only.
   Explicit specificity prevents legacy table/media rules from shrinking report text. */
#uploadCompleteResult .result-title,
#promotionResultPanel > h3,
#missionResultPanel > h3 {font-size:16px;line-height:1.45;font-weight:700}
#uploadCompleteResult .success-main b,
#promotionResultPanel .promo-success strong,
#missionResultPanel .promo-success strong {font-size:16px;line-height:1.5;font-weight:700}
#uploadCompleteResult .success-main small,
#promotionResultPanel .promo-success-main small,
#missionResultPanel .promo-success-main small {font-size:13px;line-height:1.55}
#uploadCompleteResult .result-box h4,
#promotionResultPanel .promo-result-box h4,
#missionResultPanel .promo-result-box h4 {font-size:14px;line-height:1.5;font-weight:700}
#uploadCompleteResult .result-table th,
#uploadCompleteResult .result-table td,
#uploadCompleteResult .upload-detail th,
#uploadCompleteResult .upload-detail td,
#promotionResultPanel .promo-summary-table th,
#promotionResultPanel .promo-summary-table td,
#missionResultPanel .promo-summary-table th,
#missionResultPanel .promo-summary-table td,
#promotionResultPanel .promo-detail-section th,
#promotionResultPanel .promo-detail-section td,
#missionResultPanel .promo-detail-section th,
#missionResultPanel .promo-detail-section td {font-size:13px;line-height:1.5}
#uploadCompleteResult .success-time,
#promotionResultPanel .promo-success > small,
#missionResultPanel .promo-success > small {font-size:12px;line-height:1.5}
#uploadCompleteResult .upload-detail summary,
#promotionResultPanel .promo-detail-section summary,
#missionResultPanel .promo-detail-section summary {font-size:14px;line-height:1.5}
@media(max-width:900px){
  #uploadCompleteResult .result-table th,
  #uploadCompleteResult .result-table td,
  #uploadCompleteResult .upload-detail th,
  #uploadCompleteResult .upload-detail td,
  #promotionResultPanel .promo-summary-table td,
  #missionResultPanel .promo-summary-table td,
  #promotionResultPanel .promo-detail-section th,
  #promotionResultPanel .promo-detail-section td,
  #missionResultPanel .promo-detail-section th,
  #missionResultPanel .promo-detail-section td {font-size:13px}
}


/* v4.0.5: Step 4 report uses the exact same typography as steps 1–3 */
#advanceResultPanel > h3{font-size:16px;line-height:1.45;font-weight:700}
#advanceResultPanel .promo-success strong{font-size:16px;line-height:1.5;font-weight:700}
#advanceResultPanel .promo-success-main small{font-size:13px;line-height:1.55}
#advanceResultPanel .promo-result-box h4{font-size:14px;line-height:1.5;font-weight:700}
#advanceResultPanel .promo-summary-table th,
#advanceResultPanel .promo-summary-table td,
#advanceResultPanel .promo-detail-section th,
#advanceResultPanel .promo-detail-section td{font-size:13px;line-height:1.5}
#advanceResultPanel .promo-success > small{font-size:12px;line-height:1.5}
#advanceResultPanel .promo-detail-section summary{font-size:14px;line-height:1.5}
#advanceResultPanel .advance-source-note{margin-top:12px}
#advanceResultPanel .advance-source-note p{font-size:13px;line-height:1.55;margin:5px 0}
@media(max-width:900px){
  #advanceResultPanel .promo-summary-table td,
  #advanceResultPanel .promo-detail-section th,
  #advanceResultPanel .promo-detail-section td{font-size:13px}
}

/* v4.0.6: confirmation report typography matches steps 1–4 */
#confirmationResultPanel > h3{font-size:16px;line-height:1.45;font-weight:700}
#confirmationResultPanel .promo-success strong{font-size:16px;line-height:1.5;font-weight:700}
#confirmationResultPanel .promo-success-main small{font-size:13px;line-height:1.55}
#confirmationResultPanel .promo-result-box h4{font-size:14px;line-height:1.5;font-weight:700}
#confirmationResultPanel .promo-summary-table th,
#confirmationResultPanel .promo-summary-table td,
#confirmationResultPanel .promo-detail-section th,
#confirmationResultPanel .promo-detail-section td,
#confirmationResultPanel .confirmation-step-grid{font-size:13px;line-height:1.5}
#confirmationResultPanel .promo-success > small{font-size:12px;line-height:1.5}
#confirmationResultPanel .promo-detail-section summary{font-size:14px;line-height:1.5}
#confirmationResultPanel .confirmation-grand-total{border-top:2px solid #d1e5d8}
#confirmationResultPanel .confirmation-grand-total strong{color:#087a42;font-size:14px}
#confirmationResultPanel .confirmation-steps{margin-top:12px}
#confirmationResultPanel .confirmation-step-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
#confirmationResultPanel .confirmation-step-grid>div{display:flex;justify-content:space-between;gap:8px}
#confirmationResultPanel .confirmation-step-grid strong{color:#087a42}
@media(max-width:900px){
#confirmationResultPanel .promo-summary-table td,
#confirmationResultPanel .promo-detail-section th,
#confirmationResultPanel .promo-detail-section td{font-size:13px}}
@media(max-width:550px){#confirmationResultPanel .confirmation-step-grid{grid-template-columns:1fr}}


/* v4.0.8: Increase typography by exactly 1px in ①–⑤ result panels only.
   Rules placed last to override previous per-panel rules and responsive overrides. */
#uploadCompleteResult > .result-title,
#promotionResultPanel > h3,
#missionResultPanel > h3,
#advanceResultPanel > h3,
#confirmationResultPanel > h3{font-size:17px}
#uploadCompleteResult .success-main b,
#promotionResultPanel .promo-success strong,
#missionResultPanel .promo-success strong,
#advanceResultPanel .promo-success strong,
#confirmationResultPanel .promo-success strong{font-size:17px}
#uploadCompleteResult .success-main small,
#promotionResultPanel .promo-success-main small,
#missionResultPanel .promo-success-main small,
#advanceResultPanel .promo-success-main small,
#confirmationResultPanel .promo-success-main small{font-size:14px}
#uploadCompleteResult .result-box h4,
#promotionResultPanel .promo-result-box h4,
#missionResultPanel .promo-result-box h4,
#advanceResultPanel .promo-result-box h4,
#confirmationResultPanel .promo-result-box h4{font-size:15px}
#uploadCompleteResult .result-table th,
#promotionResultPanel .promo-summary-table th,
#missionResultPanel .promo-summary-table th,
#advanceResultPanel .promo-summary-table th,
#confirmationResultPanel .promo-summary-table th,
#uploadCompleteResult .result-table td,
#promotionResultPanel .promo-summary-table td,
#missionResultPanel .promo-summary-table td,
#advanceResultPanel .promo-summary-table td,
#confirmationResultPanel .promo-summary-table td,
#uploadCompleteResult .upload-detail th,
#promotionResultPanel .promo-detail-section th,
#missionResultPanel .promo-detail-section th,
#advanceResultPanel .promo-detail-section th,
#confirmationResultPanel .promo-detail-section th,
#uploadCompleteResult .upload-detail td,
#promotionResultPanel .promo-detail-section td,
#missionResultPanel .promo-detail-section td,
#advanceResultPanel .promo-detail-section td,
#confirmationResultPanel .promo-detail-section td,
#confirmationResultPanel .confirmation-step-grid,
#advanceResultPanel .advance-source-note p{font-size:14px}
#uploadCompleteResult .success-time,
#promotionResultPanel .promo-success > small,
#missionResultPanel .promo-success > small,
#advanceResultPanel .promo-success > small,
#confirmationResultPanel .promo-success > small{font-size:13px}
#uploadCompleteResult .upload-detail summary,
#promotionResultPanel .promo-detail-section summary,
#missionResultPanel .promo-detail-section summary,
#advanceResultPanel .promo-detail-section summary,
#confirmationResultPanel .promo-detail-section summary{font-size:15px}
/* Maintain readable totals and horizontal scrolling for wider tables. */
#confirmationResultPanel .confirmation-grand-total strong{font-size:15px}
#uploadCompleteResult .upload-detail{overflow-x:auto}
#uploadCompleteResult .upload-detail table{min-width:650px}

/* V4.0.10: align summary values right; keep labels left. */
.upload-result .result-box .result-table td:last-child,
#uploadResultPanel .result-box .result-table td:last-child,
.result-grid .result-box .result-table td:last-child {
  text-align:right;
  font-variant-numeric:tabular-nums;
}
#promotionResultPanel .promo-summary-table td:last-child {
  text-align:right;
  font-variant-numeric:tabular-nums;
}
/* ② Rules application: six equal columns, regardless of numeric length. */
#promotionResultPanel .promo-detail-section:first-of-type table {
  width:100%;
  table-layout:fixed !important;
  min-width:840px;
}
#promotionResultPanel .promo-detail-section:first-of-type th,
#promotionResultPanel .promo-detail-section:first-of-type td {
  width:16.666667%;
  box-sizing:border-box;
}

#promotionResultPanel table.promotion-rule-results-table {
  width:100%;
  table-layout:fixed !important;
  min-width:840px;
}
#promotionResultPanel table.promotion-rule-results-table th,
#promotionResultPanel table.promotion-rule-results-table td {
  width:16.666667%;
  box-sizing:border-box;
}

/* v4.0.11: promotion rule editor headings and values centered */
#stepPanel2 table.promotion-rule-editor thead th,
#stepPanel2 table.promotion-rule-editor tbody td {text-align:center !important;vertical-align:middle;}
#stepPanel2 table.promotion-rule-editor tbody input {text-align:center !important;}
#stepPanel2 table.promotion-rule-editor tbody td:last-child button {display:inline-block;margin-inline:auto;}

/* V4.0.12: right-aligned, comma-grouped ④ advance amount input. */
#advanceStandalone .advance-amount-input {
  text-align:right !important;
  font-variant-numeric:tabular-nums;
}

/* SM v4.0.16 - confirmed settlement deletion */
.sm-delete-btn{background:#cb3035!important;border-color:#cb3035!important;color:#fff!important}
.sm-delete-btn:disabled{opacity:.45;cursor:not-allowed}
.sm-delete-overlay{position:fixed;inset:0;z-index:9999;background:rgba(12,27,45,.48);display:flex;align-items:center;justify-content:center;padding:16px}
.sm-delete-overlay.hidden{display:none}
.sm-delete-dialog{width:min(440px,100%);background:#fff;border-radius:14px;padding:24px;box-shadow:0 20px 60px #12253c44;color:#173452}
.sm-delete-head{display:flex;align-items:center;justify-content:space-between;color:#b92329;font-size:18px}
.sm-delete-close{background:transparent;color:#52657a;border:0;font-size:25px;padding:0 8px}
.sm-delete-summary{background:#f2f5f9;border-radius:9px;padding:12px;line-height:1.9;margin:12px 0}
.sm-delete-warning{background:#fff1f0;color:#b92329;border-radius:9px;padding:12px;font-size:13px;line-height:1.7;margin-bottom:12px}
.sm-delete-dialog input{width:100%;box-sizing:border-box;margin:8px 0 12px}
.sm-delete-actions{display:flex;justify-content:flex-end;gap:8px}

/* SM v4.0.33: compact, centered settlement list with vertical-only scrolling. */
#settlementResultsPanel .settlement-results-table-scroll{height:auto;max-height:212px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}
#settlementResultsPanel .settlement-results-table-scroll table{width:100%;min-width:0;table-layout:fixed;margin:0;border-collapse:collapse}
#settlementResultsPanel .settlement-results-table-scroll th,#settlementResultsPanel .settlement-results-table-scroll td{box-sizing:border-box;text-align:center;vertical-align:middle;padding:5px 3px;font-size:11px;line-height:1.25;overflow-wrap:anywhere}
#settlementResultsPanel .settlement-results-table-scroll thead th{position:sticky;top:0;z-index:2;background:#f4f7fa}
#settlementResultsPanel .settlement-results-table-scroll th:nth-child(1){width:25%}
#settlementResultsPanel .settlement-results-table-scroll th:nth-child(2){width:7%}
#settlementResultsPanel .settlement-results-table-scroll th:nth-child(3){width:6%}
#settlementResultsPanel .settlement-results-table-scroll th:nth-child(4){width:7%}
#settlementResultsPanel .settlement-results-table-scroll th:nth-child(5){width:28%}
#settlementResultsPanel .settlement-results-table-scroll th:nth-child(6){width:27%}
#settlementResultsPanel .settlement-results-table-scroll .sm-list-status{display:block;white-space:nowrap;font-size:11px}
#settlementResultsPanel .settlement-results-table-scroll .sm-list-actions{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:nowrap}
#settlementResultsPanel .settlement-results-table-scroll .sm-list-actions button,#settlementResultsPanel .settlement-results-table-scroll .sm-list-actions .sm-list-confirmed{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:27px;padding:3px 5px;border-radius:5px;font-size:11px;line-height:1.1;white-space:nowrap;margin:0}
#settlementResultsPanel .settlement-results-table-scroll .sm-list-actions .sm-list-confirmed{background:#eaf0f6;border:1px solid #d5dee9;color:#334155;font-weight:600}
@media(max-width:650px){#settlementResultsPanel .settlement-results-table-scroll th,#settlementResultsPanel .settlement-results-table-scroll td{font-size:9px;padding:4px 1px}#settlementResultsPanel .settlement-results-table-scroll .sm-list-status{font-size:9px;white-space:normal}#settlementResultsPanel .settlement-results-table-scroll .sm-list-actions{flex-wrap:wrap;gap:2px}#settlementResultsPanel .settlement-results-table-scroll .sm-list-actions button,#settlementResultsPanel .settlement-results-table-scroll .sm-list-actions .sm-list-confirmed{font-size:9px;min-height:23px;padding:2px 3px}}

/* Unified rider management tabs (desktop) */
.rm-unified-tabs{display:flex;gap:8px;margin:0 0 16px;border-bottom:1px solid #d9e2ee;padding-bottom:8px}
.rm-unified-tab{border:1px solid #cdd9e7;background:#fff;color:#15314f;border-radius:7px;padding:11px 20px;font-weight:700;cursor:pointer}
.rm-unified-tab.active{background:#11395f;color:#fff;border-color:#11395f}
#riderManagePage #riderGradesAdminPage{width:100%;max-width:none;margin:0;padding:0}
#riderManagePage #riderGradesAdminPage .rider-mobile-profile-card{max-width:none!important;width:100%;box-sizing:border-box}
