@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');*{box-sizing:border-box}body{margin:0;background:#f5f6f2;color:#19332e;font-family:'DM Sans',system-ui,sans-serif}header{padding:24px 6%;display:flex;align-items:center;gap:12px;border-bottom:1px solid #dce2da}header span{margin-left:auto;font-size:11px;letter-spacing:2px;color:#60756b}.mark{background:#254d41;color:white;border-radius:10px;padding:8px 13px}main{max-width:1140px;margin:auto;padding:55px 25px}.eyebrow,.step{font-size:11px;font-weight:700;letter-spacing:2px;color:#5a7667}h1{font-size:62px;line-height:1.06;letter-spacing:-3px;margin:18px 0}p{line-height:1.6}.intro{color:#65766e;max-width:570px;font-size:18px;margin-bottom:35px}.layout{display:grid;grid-template-columns:1fr 1.2fr;gap:22px}.panel{background:white;border:1px solid #dce3da;border-radius:18px;padding:30px;box-shadow:0 8px 28px #243d3105}h2{font-size:23px;letter-spacing:-.6px;margin:14px 0 23px}label{display:block;font-size:12px;font-weight:600}input,select{width:100%;border:1px solid #cdd9ce;border-radius:8px;padding:13px;font:inherit;margin:8px 0 18px;background:#fff;color:#19332e}.upload{border:1px dashed #98b5a3;border-radius:12px;background:#f6faf6;text-align:center;padding:22px;font-size:22px;cursor:pointer}.upload strong,.upload small{display:block;font-size:14px;margin:8px}.upload small{font-size:11px;color:#687a70}.upload input{margin:8px 0 0;font-size:11px}.codes,.maps{display:grid;grid-template-columns:1fr 1fr;gap:15px}.codes input{font-size:23px;letter-spacing:2px;text-transform:uppercase}button{border:0;border-radius:9px;background:#234f40;color:white;width:100%;padding:16px;font:600 14px inherit;cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button span{float:right}.secondary{background:#e5eee7;color:#234f40}.textbutton{width:auto;background:none;color:#60756b;padding:12px 0;font-size:12px}.hint,.muted,#status{font-size:12px;color:#6b7a70}.hint{border-top:1px solid #e8ece5;margin-top:22px;padding-top:17px;line-height:1.6}.result{margin-top:24px;padding:22px;background:#f0f5ef;border-radius:10px;line-height:1.6;font-size:14px}.result small{display:block;font-size:12px;color:#718075}.empty{color:#738276}.result article{border-top:1px solid #cdd9ce;margin-top:14px;padding-top:14px}.result h3{margin:0 0 8px}.foot{padding:25px 5px}.legend{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;font-size:13px;color:#65766e}.legend b{color:#254d41}a{color:#234f40;font-size:12px}footer{text-align:center;border-top:1px solid #dce2da;padding:24px;font-size:11px;color:#728174}#mapping{margin-top:20px}*:focus-visible{outline:3px solid #afbb55;outline-offset:3px}@media(max-width:760px){header span{display:none}main{padding-top:35px}h1{font-size:48px}.layout,.legend{grid-template-columns:1fr}.panel{padding:24px}.codes{gap:10px}}

.result.conflict{background:#fff0ef;border:1px solid #dc8f89;color:#8c2420}.result.conflict h3{color:#a12520}.result.conflict small{color:#8c4b47}.result.conflict article{border-color:#e7b5b0}.result.clear{border:1px solid #b7cfb9}

.pair-conflict{background:#fff0ef;border-left:4px solid #bd342c;padding:14px;color:#8c2420}.pair-clear{background:#f0f5ef;border-left:4px solid #86a78b;padding:14px;color:#254d41}.result .pair-clear small{color:#65766e}.codes input{font-size:18px}

.toggle input{width:auto;margin-right:10px}#money{border-collapse:collapse;width:100%;min-width:900px;margin-top:20px;font-size:12px}#money th,#money td{text-align:left;padding:8px;border-bottom:1px solid #dce3da}#money input,#money select{margin:0;min-width:90px;padding:9px}#money th{color:#60756b}

/* Responsive claim and reimbursement controls. */
.layout > *, .panel, .codes > *, .maps > * {min-width:0}
input, select, button {min-height:44px}
input, select {font-size:16px}
.toggle {display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.5}
.toggle input {width:24px;height:24px;min-height:24px;flex:0 0 24px;margin:0;accent-color:#234f40}
.result, .panel, footer {overflow-wrap:anywhere}
@media(max-width:600px) {
  header {padding:16px;gap:10px}
  main {padding:28px 12px}
  h1 {font-size:40px;letter-spacing:-1.5px}
  .intro {font-size:16px;margin-bottom:24px}
  .panel {padding:18px;border-radius:12px}
  h2 {font-size:21px;margin-bottom:18px}
  .codes,.maps {grid-template-columns:1fr;gap:0}
  .codes input {font-size:18px;margin-bottom:12px}
  .result {padding:14px}
  .pair-conflict {padding:12px}
  .result select {max-width:100%;font-size:16px}
  .muted,#status,.hint {font-size:13px}
  a {font-size:14px}
  #money {display:block;min-width:0;margin-top:20px;font-size:14px}
  #money thead {position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
  #money tbody {display:block}
  #money tr {display:block;border:1px solid #dce3da;border-radius:12px;margin-bottom:16px;padding:12px;background:#f8faf7}
  #money td {display:block;border:0;padding:6px 0}
  #money td::before {content:attr(data-label);display:block;font-size:12px;font-weight:600;color:#60756b;margin-bottom:5px}
  #money td:first-child {font-size:18px;font-weight:700;border-bottom:1px solid #dce3da;padding-bottom:12px;margin-bottom:6px}
  #money input,#money select {min-width:0;width:100%;padding:12px;font-size:16px}
  #money td:last-child {font-size:20px;font-weight:700;border-top:1px solid #dce3da;margin-top:8px;padding-top:12px}
  footer {padding:20px 16px;line-height:1.6}
}
