/* Shared claim typography and controls; scoped to claim screens. */
body.claims-ui main{font-family:Arial,Helvetica,sans-serif;font-size:14px;line-height:1.5;color:#243247}
body.claims-ui main h1{font-size:24px!important;line-height:1.25;margin:16px 0 8px;font-weight:650}
body.claims-ui main h2{font-size:19px!important;line-height:1.3;margin:0 0 12px;font-weight:650}
body.claims-ui main h3{font-size:17px!important;line-height:1.35;font-weight:650;margin:20px 0 10px}
body.claims-ui main h4{font-size:15px!important;line-height:1.4}
body.claims-ui main label{font-size:13px!important;line-height:1.4;font-weight:600;min-width:0}
body.claims-ui main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.claims-ui main select,body.claims-ui main textarea{font-family:inherit!important;font-size:14px!important;line-height:1.4!important;box-sizing:border-box!important;height:auto!important;min-height:40px!important;padding:9px 11px!important;border-radius:7px!important;max-width:100%;min-width:0;font-weight:400!important;margin-top:5px;color:#243247}
body.claims-ui main select{padding-right:30px!important;width:100%;text-overflow:ellipsis}
body.claims-ui main textarea{min-height:78px!important;resize:vertical;white-space:pre-wrap}
body.claims-ui main input[type=checkbox],body.claims-ui main input[type=radio]{width:16px!important;height:16px!important;min-height:0!important;padding:0!important;flex-shrink:0}
body.claims-ui main button,body.claims-ui main .btn,body.claims-ui main .button{font:600 13px/1.35 Arial,Helvetica,sans-serif!important;min-height:36px!important;height:auto!important;padding:8px 13px!important;border-radius:7px!important;white-space:normal!important;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;min-width:0!important;width:auto!important}
body.claims-ui main .card,body.claims-ui main .mc-card{padding:18px!important;margin:14px 0!important;border-radius:10px!important;box-shadow:none!important}
body.claims-ui main .activity{padding:14px!important;margin:10px 0!important}
body.claims-ui main .field-grid{gap:12px!important}
body.claims-ui main .activity-top{display:flex!important;flex-wrap:wrap;gap:12px!important}
body.claims-ui main .activity-top>label{display:block!important;flex:1 1 220px;min-width:0!important;width:auto!important;max-width:100%}
body.claims-ui main .activity-top>label input,body.claims-ui main .activity-top>label select{width:100%!important;min-width:0!important}
body.claims-ui main .activity-top>.wide{flex-basis:100%;grid-column:1/-1!important}
body.claims-ui main .ot-grid>label:first-child{width:100%!important;min-width:0!important}
body.claims-ui main .route-grid>.wide{grid-column:auto!important}
body.claims-ui main .expense-row{grid-template-columns:90px minmax(220px,1fr) 140px minmax(190px,1fr)!important;gap:12px!important}
body.claims-ui main .expense-source{min-width:220px!important}
body.claims-ui main .ot-grid{grid-template-columns:120px 170px 170px minmax(180px,1fr)!important}
body.claims-ui main .route-grid{grid-template-columns:minmax(0,1fr) 140px!important}
body.claims-ui main .day-summary{gap:10px;flex-wrap:wrap}
body.claims-ui main .hint,body.claims-ui main .source-sub,body.claims-ui main .muted2{font-size:12px!important;line-height:1.5!important}
body.claims-ui main .normal-end{font-size:12px!important;font-weight:400!important;padding:9px!important}
body.claims-ui main td,body.claims-ui main th{font-size:13px!important;line-height:1.5;vertical-align:top;padding:10px!important;overflow-wrap:anywhere}
body.claims-ui main th{font-size:12px!important;letter-spacing:.02em;font-weight:600}
body.claims-ui main .mc-table,body.claims-ui main .claim-table{width:100%;border-collapse:collapse}
body.claims-ui main .claim-table td,body.claims-ui main .claim-table th{border-bottom:1px solid #e6ebf1}
body.claims-ui main .claim-table-scroll{overflow-x:auto}
body.claims-ui main .claim-table{min-width:680px}
body.claims-ui main .claim-filters{display:grid;grid-template-columns:160px 200px minmax(180px,1fr) auto;gap:12px;align-items:end}
body.claims-ui main .claim-filter-actions,body.claims-ui main .claim-create-actions{display:flex;gap:8px;align-items:end;flex-wrap:wrap}
body.claims-ui main .claim-create-actions input{min-width:190px}
body.claims-ui main .claim-pagination{display:flex;gap:14px;align-items:center;justify-content:flex-end;margin:18px 0}
body.claims-ui main .claim-status,body.claims-ui main .decision-badge{display:inline-block!important;width:auto!important;min-height:0!important;padding:3px 8px!important;font:600 11px/1.5 Arial!important;border:0!important;border-radius:20px!important;background:#edf1f6;color:#46566c;white-space:normal}
body.claims-ui main .status-test_returned,body.claims-ui main .status-amendment,body.claims-ui main .status-returned,body.claims-ui main .d-returned{background:#fff1ce;color:#805900}
body.claims-ui main .status-test_approved,body.claims-ui main .status-approved,body.claims-ui main .d-approved{background:#e7f4ed;color:#23714a}
body.claims-ui main .status-test_rejected,body.claims-ui main .status-rejected,body.claims-ui main .d-rejected{background:#fce9e9;color:#9a3434}
body.claims-ui main .d-adjusted,body.claims-ui main .d-resubmitted,body.claims-ui main .d-new{background:#e8f0fe;color:#335f9b}
body.claims-ui main .review-summary-row{padding:12px 0;border-bottom:1px solid #e6ebf1}
body.claims-ui main .review-summary-row:last-child{border-bottom:0}
body.claims-ui main .review-summary-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
body.claims-ui main .review-summary-row p{margin:5px 0 0;font-size:13px}
body.claims-ui main .review-note{border:0!important;background:transparent!important;padding:0!important;margin:6px 0!important;font-size:13px!important;line-height:1.5}
body.claims-ui main .review-note p{margin:5px 0}
body.claims-ui main .returned-item{background:#fffaf0!important;border-left:3px solid #d5a44b!important}
body.claims-ui main .review-summary-row.returned-item{padding:10px 12px;margin:6px 0;border-radius:6px}
body.claims-ui main .review-history{font-size:12px;color:#526078;margin-top:7px}
body.claims-ui main .review-history summary{cursor:pointer;font-weight:600}
body.claims-ui main :disabled{color:#778295!important;background:#f0f2f5!important;opacity:1!important;cursor:not-allowed}
body.claims-ui main .stat{font-size:12px;padding:6px 9px}
body.claims-ui main #saveForm{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:18px 0}
body.claims-ui main #saveForm input[type=hidden]{display:none}
body.claims-ui main #mcLeaveDialog{max-width:440px;border:1px solid #dce4ee;border-radius:12px;padding:22px;font:14px/1.5 Arial}
body.claims-ui main #mcLeaveDialog::backdrop{background:rgba(25,38,60,.4)}
@media(max-width:1000px){body.claims-ui main .expense-row,body.claims-ui main .ot-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}body.claims-ui main .expense-source{min-width:0!important}body.claims-ui main .claim-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){body.claims-ui main .activity-top,body.claims-ui main .expense-row,body.claims-ui main .ot-grid,body.claims-ui main .route-grid,body.claims-ui main .day-grid,body.claims-ui main .claim-filters{grid-template-columns:minmax(0,1fr)!important}body.claims-ui main input:not([type=checkbox]):not([type=radio]):not([type=hidden]),body.claims-ui main select,body.claims-ui main textarea{font-size:16px!important}body.claims-ui main .mc-table{display:block;overflow-x:auto}body.claims-ui main .mc-table td{min-width:105px}body.claims-ui main .mc-table td:nth-child(2){min-width:230px}body.claims-ui main .card,body.claims-ui main .mc-card{padding:13px!important}}

/* Responsive reimbursement cards; date bands apply to the entire day. */
body.claims-ui main .calc-table{width:100%;table-layout:auto}
body.claims-ui main .calc-date-heading{display:none}
body.claims-ui main .calc-table .date-blue{background:#f0f6ff}
body.claims-ui main .calc-table .date-white{background:#fff}
body.claims-ui main .calc-table td{vertical-align:top}
body.claims-ui main .calc-table th{word-break:normal!important;overflow-wrap:normal!important;white-space:normal!important;line-height:1.4}
body.claims-ui main .calc-table .calc-date{white-space:nowrap}
body.claims-ui main .calc-item{min-width:230px;overflow-wrap:anywhere}
body.claims-ui main .calc-transaction{margin:7px 0;padding:6px 0;border-top:1px solid #dae3ef;font-size:12px;line-height:1.5}
body.claims-ui main .calc-transaction>span{display:block}
body.claims-ui main .ocr-ok{display:inline-flex;border-radius:12px;background:#e7f7ed;color:#176b3c;font-size:11px;font-weight:600;padding:2px 6px;white-space:nowrap}
body.claims-ui main .ocr-no,body.claims-ui main .amount-changed{font-size:11px;color:#925700;display:inline-block;padding:2px 4px}
body.claims-ui main .day-grid label{height:auto!important;min-height:0!important;display:block!important}
body.claims-ui main .day-grid .hint{display:block!important;position:static!important;margin:8px 0 0!important;line-height:1.5!important}
body.claims-ui main .normal-end{display:block!important;position:static!important;margin:12px 0 0!important;line-height:1.5!important;height:auto!important;padding:8px 10px!important;clear:both}
body.claims-ui main .expense-saved{padding:12px 0}
body.claims-ui main .tx-row{align-items:flex-start!important}
body.claims-ui main .tx-row input{margin-top:4px!important;flex:0 0 auto}
@media(max-width:760px){
 body.claims-ui main .calc-table,body.claims-ui main .calc-table tbody{display:block!important;overflow:visible!important;width:100%!important}
 body.claims-ui main .calc-table thead{display:none!important}
 body.claims-ui main .calc-table .calc-date-heading{display:block!important;margin:14px -5px 0;padding:10px 12px;border-radius:8px 8px 0 0;font-weight:700}
 body.claims-ui main .calc-table .calc-date-heading td{display:block!important;border:0!important;padding:0!important;min-width:0!important}
 body.claims-ui main .calc-table .calc-line{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:14px 12px;margin:0 -5px;border:1px solid #dae3ef;border-top:0;min-width:0!important}
 body.claims-ui main .calc-table .calc-line td{display:block!important;width:auto!important;min-width:0!important;padding:0!important;border:0!important;white-space:normal!important}
 body.claims-ui main .calc-table .calc-line .calc-date{display:none!important}
 body.claims-ui main .calc-table .calc-item,body.claims-ui main .calc-table .calc-reason{grid-column:1/-1;min-width:0!important}
 body.claims-ui main .calc-table [data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:#526078;margin-bottom:6px}
 body.claims-ui main .calc-table .reason-empty{display:none!important}
 body.claims-ui main .calc-table .calc-item strong{font-size:14px;line-height:1.5}
 body.claims-ui main .calc-table .source-sub{font-size:12px;line-height:1.6;margin-top:6px;white-space:normal;overflow-wrap:anywhere}
 body.claims-ui main .calc-table input{max-width:100%!important;box-sizing:border-box}
 body.claims-ui main .calc-table .calc-system{padding-top:0!important}
}

/* Keep module icons and headings in document flow, independent of font size. */
body main .tiles > .tile{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:0!important;min-width:0!important;height:auto!important;padding:24px 24px 56px!important}
body main .tiles > .tile > .icon{position:static!important;inset:auto!important;display:block!important;flex:0 0 auto!important;width:30px!important;height:30px!important;margin:0!important;line-height:1!important}
body main .tiles > .tile > .icon svg{display:block!important;width:30px!important;height:30px!important}
body main .tiles > .tile > h2{display:block!important;position:static!important;line-height:1.4!important;font-size:19px!important;margin:14px 0 8px!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important}
body main .tiles > .tile > p{position:static!important;line-height:1.5!important;margin:0!important;max-width:100%!important;overflow-wrap:break-word!important}
@media(max-width:700px){body main .tiles > .tile{min-height:180px!important;padding:20px 20px 52px!important}}
