/* Shared visual refinements for club claims and claim management. */
:root{--ink:#242a30;--muted:#606c77;--line:#e2e6e9;--paper:#f4f5f6;--deep:#246ca8;--radius:12px}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.masthead{height:104px;background:#202224;border-bottom:2px solid var(--yellow)}
.masthead .brand img.brand-lockup{width:194px}
.view-switch[hidden]{display:none!important}
main{padding-top:48px;padding-bottom:64px}
h1{font-family:'Barlow',Arial,sans-serif;font-size:36px;font-weight:600;line-height:1.15;letter-spacing:-1px}
h2{font-size:21px;letter-spacing:-.35px}
h3{font-size:17px;line-height:1.3;letter-spacing:-.15px}
.eyebrow{font-size:11px;letter-spacing:1.5px;margin-bottom:12px}
.page-heading{margin-bottom:32px}
.page-heading p{line-height:1.65;max-width:640px}
.panel{box-shadow:0 2px 4px #20252b03}
.panel-head{padding:23px 28px;border-color:var(--line)}
.panel-body,.confirmation{padding:28px}
.stack{gap:24px}
.number{background:#f0f3f5;color:#586875;font-size:13px;width:28px;height:28px}
.pill{border-radius:4px;font-size:12px;letter-spacing:.1px;padding:5px 9px}
.pill.blue{background:#eff4f8;color:#315f80}
.btn{min-height:44px;border-radius:6px;line-height:1.4;font-weight:600;padding:11px 18px;transition:background .15s,border-color .15s,box-shadow .15s}
.btn.primary{box-shadow:0 1px 2px #153b5a12}
.btn.primary:hover{background:#1d5d90;border-color:#1d5d90;box-shadow:0 3px 8px #153b5a18}
.btn.secondary{background:#fff;color:#36576f;border-color:#d7e0e7}
.btn.small{min-height:36px}
label.field{font-weight:500;gap:8px}
input,select,textarea{border-color:#ccd4db;border-radius:6px;padding:12px 14px;min-height:46px;line-height:1.4;transition:border-color .15s,box-shadow .15s}
input::placeholder,textarea::placeholder{color:#7c8791;font-weight:400}
input:focus,select:focus,textarea:focus{border-color:var(--deep);outline:none;box-shadow:0 0 0 3px #246ca818}
.checkbox input{padding:0;box-shadow:none}
.entitlement{background:#edf3f8;border-color:#dbe5ed;padding:28px}
.entitlement h2{font-family:'Barlow',Arial,sans-serif;font-size:23px;font-weight:600;letter-spacing:-.5px}
.amount-row .amount,.metric strong,.review-stat strong{font-family:'Barlow',Arial,sans-serif;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-1px}
.amount-row .amount{font-size:30px}
.metric{padding:23px 22px;border-radius:10px;box-shadow:0 2px 4px #20252b03}
.metric strong{font-size:30px;margin:8px 0 4px;line-height:1.2}
.metric label{font-size:13px}.metric span{line-height:1.5}
.review-stat strong{font-size:26px}
.toolbar{padding:21px 24px;gap:16px}
th{background:#f8f9fa;font-size:11px;letter-spacing:.8px;padding:15px 20px}
td{padding:21px 20px}
.table-bottom{padding:17px 24px}
.upload-zone{background:#fafcfd;border-color:#becfdd;padding:28px}
.voucher-ticket{background:#fff;border-color:#e1e5e8;border-left-color:var(--yellow);font-variant-numeric:tabular-nums}
.checklist{padding:25px}.support-note{line-height:1.65}
.login-page{max-width:580px;margin:16px auto 0}
.login-card{padding:44px;box-shadow:0 10px 32px #20252b05;border-color:#e0e5e8}
.login-card h1{font-family:'Barlow',Arial,sans-serif;font-size:32px;font-weight:600;line-height:1.2;letter-spacing:-.8px;margin:0;max-width:480px}
.login-lead{font-size:16px;line-height:1.65;margin-top:18px}
.login-form{margin-top:30px;gap:20px}
.login-form .btn.primary{min-height:48px;margin-top:4px}
.login-foot{margin-top:26px;padding-top:22px;border-top:1px solid #edf0f2;font-size:13px;line-height:1.65}
footer{font-size:11px;letter-spacing:.5px;padding-top:24px;padding-bottom:24px;color:#67727c}
dialog{border-radius:12px;box-shadow:0 20px 80px #15253524}.modal-head{padding:26px 28px 22px}.modal-body{padding:26px 28px}
@media(max-width:1100px){.metric{padding:20px 17px}.metric strong{font-size:27px}}
@media(max-width:720px){.masthead{height:88px;padding:16px 20px}.masthead .brand img.brand-lockup{width:160px}main{padding-top:28px;padding-bottom:40px}h1{font-size:29px;letter-spacing:-.6px}h2{font-size:20px}.page-heading{margin-bottom:25px}.panel-head{padding:20px}.panel-body,.confirmation{padding:22px 20px}.stack{gap:18px}.login-page{margin:0 auto}.login-card{padding:30px 24px}.login-card h1{font-size:28px;letter-spacing:-.6px}.login-lead{font-size:15px}.login-foot{margin-top:24px;padding-top:20px}.entitlement{padding:22px}.entitlement h2{font-size:21px}.amount-row .amount{font-size:27px}.metric{padding:18px 15px}.metric strong{font-size:27px}.toolbar{padding:18px}.modal-head,.modal-body{padding:22px}.login-topline{flex-wrap:wrap}}

@media(max-width:520px){.page-heading{flex-direction:column;align-items:stretch}.page-heading-actions{justify-content:flex-start}.detail-grid{grid-template-columns:1fr}.detail-grid dd{overflow-wrap:anywhere}}
/* One section at a time, with a final review on every screen size. */
.claim-wizard{max-width:880px;margin:0 auto}.claim-wizard .page-heading h1{font-size:32px}.claim-wizard .page-heading{align-items:flex-start}.claim-wizard .page-heading-actions{padding-top:8px}.claim-progress{margin-bottom:24px}.claim-progress ol{list-style:none;padding:0;margin:0;display:flex;gap:8px}.claim-progress li{flex:1;border-bottom:2px solid #dfe4e8;padding-bottom:16px}.claim-progress li.current{border-color:var(--deep)}.claim-progress li.visited{border-color:#94aec2}.claim-progress button{display:flex;align-items:center;gap:10px;border:0;background:none;color:var(--muted);font:500 14px 'Barlow',Arial,sans-serif;padding:0;cursor:pointer}.claim-progress .current button{color:var(--deep);font-weight:600}.step-dot{width:27px;height:27px;border:1px solid #ced6dd;border-radius:50%;display:grid;place-items:center;font-size:12px}.current .step-dot{background:var(--deep);border-color:var(--deep);color:white}.visited .step-dot{background:#e8eef3;border-color:#e8eef3;color:#44647c}.claim-progress p{margin-top:10px;color:var(--muted);font-size:12px}.claim-amounts{display:flex;align-items:center;gap:28px;background:#edf2f6;border:1px solid #dfe7ed;border-radius:8px;padding:17px 22px;margin-bottom:24px;font-size:13px;color:#526574}.claim-amounts strong{display:block;margin-top:3px;font-size:21px;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}.claim-amounts-club{margin-left:auto;max-width:45%;text-align:right}.claim-step-actions{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:22px 0;margin-top:4px}.claim-step-actions .btn.primary{min-width:175px}.review-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.review-total strong{font-size:26px;font-weight:600;font-variant-numeric:tabular-nums}.review-total small{display:block;color:var(--muted);font-size:12px;margin-top:4px}.review-details{margin-top:20px}.review-terms{margin-top:18px}.claim-wizard .file-info{min-width:0;overflow-wrap:anywhere}.claim-wizard #claim-step-title:focus{outline:none}.claim-wizard #step-errors:empty{display:none}.claim-wizard #step-errors .error{margin:0 0 22px}.claim-wizard .confirmation .submit-row .small{max-width:350px}
@media(max-width:520px){.claim-wizard .page-heading h1{font-size:28px}.claim-wizard .page-heading{position:relative;padding-top:26px}.claim-wizard .page-heading-actions{position:absolute;right:0;top:-9px;padding:0}.claim-progress ol{gap:6px}.claim-progress button{flex-direction:column;align-items:flex-start;gap:8px;font-size:12px}.claim-progress li{padding-bottom:12px}.claim-progress{margin-bottom:18px}.claim-amounts{flex-wrap:wrap;gap:12px 28px;padding:15px 18px;margin-bottom:18px}.claim-amounts-club{display:none}.claim-step-actions{position:sticky;bottom:0;background:var(--paper);padding:16px 0;border-top:1px solid var(--line);margin-top:20px}.claim-step-actions>.small{max-width:140px;font-size:12px}.claim-step-actions .btn.primary{min-width:150px}.claim-wizard .file-card{flex-wrap:wrap}.claim-wizard .file-info{flex-basis:70%}.claim-wizard .form-grid{grid-template-columns:1fr}.claim-wizard .form-grid .wide{grid-column:auto}.claim-wizard .invoice-options{display:grid;grid-template-columns:1fr 1fr}.claim-wizard .invoice-options .btn{padding:10px}.claim-wizard .confirmation .submit-row .small{max-width:none}}

/* Make the voucher total answer the user's next question at a glance. */
.split-target{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:22px;padding:16px 18px;background:#f7f9fa;border:1px solid #e2e8ed;border-radius:9px}.split-target>div{display:grid;gap:3px}.split-target span{font-size:13px;color:var(--muted)}.split-target strong{font-size:24px;line-height:1.1;font-weight:600;font-variant-numeric:tabular-nums}.split-target-copy{text-align:right;max-width:220px}.split-status{margin-top:23px;padding:18px 19px;border:1px solid;border-radius:10px}.split-status-under{background:#fffaf0;border-color:#ead9a4}.split-status-complete{background:#f1f8f3;border-color:#c9e0d0}.split-status-over{background:#fff3f2;border-color:#ecc6c2}.split-status-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.split-status-head>div{display:grid;gap:3px}.split-status-label{font-size:13px;color:var(--muted)}.split-status-head strong{font-size:22px;line-height:1.15;font-weight:600;font-variant-numeric:tabular-nums}.split-status-state{font-size:13px;font-weight:600;text-align:right;padding-top:2px}.split-status-under .split-status-state{color:#806313}.split-status-complete .split-status-state{color:#28704b}.split-status-over .split-status-state{color:#ae302d}.split-progress{height:8px;margin:15px 0 11px;border-radius:99px;background:#e3e8eb;overflow:hidden}.split-progress span{display:block;height:100%;border-radius:inherit;transition:width .15s,background .15s}.split-status-under .split-progress span{background:#c79d27}.split-status-complete .split-progress span{background:#3d8961}.split-status-over .split-progress span{background:#c43c38}.split-status p{font-size:14px;line-height:1.45;font-weight:500}.split-status-under p{color:#705b1b}.split-status-complete p{color:#2a6848}.split-status-over p{color:#9e312e}.split-actions{display:flex;justify-content:flex-end;margin-top:21px}.split-actions .btn{min-width:205px}
@media(max-width:520px){.split-target{align-items:flex-start;flex-direction:column;gap:5px}.split-target-copy{text-align:left;max-width:none}.split-status{padding:16px}.split-status-head{display:block}.split-status-state{display:block;text-align:left;margin-top:9px}.split-actions{display:block}.split-actions .btn{width:100%}}
