input, select { font: inherit; color: #34495d; }
.button-ghost { background: linear-gradient(#fff,#e4ecf3); color: #244a71; border-color: #aebdcb; }
.route-home { padding-top: 38px; }
.route-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.route-card { position: relative; display: block; padding: 24px 24px 37px; background: linear-gradient(#fff,#edf2f6); border: 1px solid #aebdcb; border-radius: 4px; box-shadow: 0 2px 6px #20394c1f; }
.route-card:hover { background: white; border-color: #4376aa; }
.route-index { color: #a32929; font-size: 12px; font-weight: bold; }
.route-card h3 { margin: 15px 0 12px; font-size: 25px; line-height: 1.2; }
.route-card p { margin: 0; color: #586575; font-size: 14px; }
.route-arrow { position: absolute; bottom: 12px; right: 19px; font-size: 23px; color: #315d8d; }
.home-note { color: #566577; font-size: 12px; margin: 16px 0 23px; }
.home-search { background: #f6f8fa; border: 1px solid #b5c3d0; padding: 20px; border-radius: 4px; }
.home-search label { display: block; margin-bottom: 9px; font-weight: bold; color: #234b77; }
.home-search > div { display: flex; gap: 10px; }
.home-search input { flex: 1; min-width: 0; }
input:not([type=checkbox]), select { width: 100%; min-height: 43px; padding: 9px 12px; background: white; border: 1px solid #a5b6c5; border-radius: 3px; box-shadow: inset 0 1px 3px #20394c12; }
input:disabled, select:disabled { background: #e8edf2; color: #677688; }
.home-search p, .filter-caption, .form-note { margin: 9px 0 0; color: #59697b; font-size: 12px; }
.quick-links, .home-resources, .guide-links { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.quick-links { margin-top: 13px; font-size: 13px; color: #235184; }
.quick-links a, .home-resources a, .guide-links a, .text-button { text-decoration: underline; text-underline-offset: 3px; }
.home-resources { padding-top: 30px; color: #2d5886; }
.guide-main { padding-top: 24px; padding-bottom: 35px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 12px; color: #52677c; }
.breadcrumbs a { text-decoration: underline; }
.page-heading { margin: 24px 0; padding-bottom: 21px; border-bottom: 1px solid #b6c3cf; }
.page-heading .eyebrow { margin-bottom: 10px; }
.page-heading h1 { font-size: 39px; line-height: 1.2; overflow-wrap: break-word; }
.page-heading > p:last-child { margin: 16px 0 0; max-width: 760px; font-size: 16px; color: #4e6072; }
.legal-warning { margin: 20px 0; padding: 15px 18px; background: #fff8e9; border: 1px solid #d7c596; border-left: 4px solid #b58a32; border-radius: 3px; color: #555043; }
.legal-warning > strong { color: #6d5528; }
.legal-warning p { margin: 7px 0 0; }
.route-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.route-facts > div, .guide-panel { padding: 23px; background: linear-gradient(#fff,#f2f5f8); border: 1px solid #b9c7d3; border-radius: 4px; }
.route-facts dt { color: #a42c2c; font-weight: bold; font-size: 12px; text-transform: uppercase; }
.route-facts dd { margin: 10px 0 0; }
.route-steps { margin: 28px 0; padding: 0; list-style: none; background: #f9fbfc; border: 1px solid #b9c7d3; border-radius: 4px; }
.route-steps li { display: flex; align-items: flex-start; gap: 21px; padding: 24px; border-bottom: 1px solid #d0d9e1; }
.route-steps li:last-child { border-bottom: 0; }
.route-steps li > div { min-width: 0; }
.route-steps li > span { flex-shrink: 0; display: grid; place-items: center; width: 35px; height: 35px; border-radius: 50%; color: white; background: linear-gradient(#497bb0,#1b497e); font-weight: bold; }
.route-steps h2, .guide-panel h2, .guide-section h2 { margin: 0 0 12px; font-size: 23px; line-height: 1.3; }
.route-steps p { margin: 0; color: #4f6072; }
.guide-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.guide-panel p:last-child { margin-bottom: 0; }
.guide-section { margin: 30px 0; }
.document-list { padding-left: 22px; }
.document-list li { margin: 8px 0; }
.text-button { display: inline-block; color: #235382; margin-top: 12px; }
.guide-details, .compare-columns { border: 1px solid #b7c7d4; border-radius: 3px; background: #f7fafc; margin-top: 12px; }
.guide-details > p { padding: 0 17px 17px; margin: 0; }
.source-note { margin: 26px 0; border-top: 1px solid #bccad6; padding: 18px 0 0; color: #5a6978; font-size: 13px; }
.source-note p { margin: 8px 0; }
.source-note a, .details-body a, .diagnosis-details a { color: #245a8e; text-decoration: underline; }
.source-note small { font-size: 12px; }
.guide-contact { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 20px; margin-top: 35px; padding: 25px; background: #f8fbfd; border: 1px solid #b8c8d6; border-radius: 4px; }
.guide-contact h2 { margin: 0; font-size: 23px; }
.guide-contact p { margin: 9px 0; }
.guide-contact small { font-size: 12px; color: #59697b; }
.guide-links { padding-top: 23px; color: #2d5886; font-size: 13px; }
.catalog-filters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 15px; padding: 22px; background: #f6f9fb; border: 1px solid #b7c6d3; border-radius: 4px; }
.catalog-filters label, .route-check-form label { display: block; font-weight: bold; font-size: 13px; color: #365470; }
.catalog-filters input, .catalog-filters select, .route-check-form input, .route-check-form select { margin-top: 7px; font-weight: normal; }
.catalog-filters .search-label { grid-column: 1/-1; }
.catalog-filters button { align-self: end; }
.catalog-toolbar { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; align-items: center; margin: 22px 0; color: #3d5b79; }
.catalog-toolbar p { margin: 0; font-weight: bold; }
.catalog-toolbar a { text-decoration: underline; }
.catalog-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; align-items: start; }
.diagnosis-card { overflow: hidden; background: white; border: 1px solid #b5c6d4; border-radius: 4px; box-shadow: 0 2px 5px #20394c15; }
.diagnosis-card > header { padding: 22px; background: linear-gradient(#fff,#f1f5f8); }
.article-badge { display: inline-block; padding: 3px 7px; font-weight: bold; font-size: 11px; color: #33597f; background: #e0eaf3; border: 1px solid #b2c5d6; border-radius: 2px; }
.diagnosis-card h2 { margin: 13px 0 10px; font-size: 23px; line-height: 1.25; }
.icd-codes { font-size: 12px; color: #556a7e; overflow-wrap: anywhere; }
.primary-path { margin: 10px 0 0; color: #3d5b77; font-size: 13px; }
.diagnosis-card > details { border-top: 1px solid #c0cedb; }
.diagnosis-card summary { font-size: 13px; }
.diagnosis-details { padding: 0 20px 20px; }
.diagnosis-details h3 { margin: 20px 0 8px; font-size: 18px; }
.diagnosis-details .legal-warning { padding: 12px; font-size: 13px; }
.diagnosis-details .document-list { font-size: 13px; }
.card-source { padding: 11px 20px; border-top: 1px solid #cad5df; display: flex; flex-wrap: wrap; gap: 6px 12px; justify-content: space-between; color: #566b7e; font-size: 11px; }
.card-source a { text-decoration: underline; color: #265987; }
.table-scroll { max-width: 100%; overflow-x: auto; margin: 16px 0 10px; border: 1px solid #bccbd8; background: white; }
table { border-collapse: collapse; width: 100%; min-width: 410px; font-size: 12px; }
caption { padding: 10px; text-align: left; font-weight: bold; color: #365779; background: #f0f5f9; }
th, td { text-align: left; vertical-align: top; padding: 10px; border: 1px solid #d0dbe4; }
thead { color: #284e77; background: #e3edf5; }
tbody th { color: #9d2828; }
tr.point-match { background: #fff4cd; }
.matrix-note { color: #5c6e80; font-size: 12px; }
.compare-columns { margin-top: 20px; }
.compare-columns .table-scroll { margin: 0 10px 12px; }
.compare-columns > a { display: block; margin: 12px; font-size: 12px; }
.catalog-empty { margin-bottom: 20px; padding: 24px; background: #f8fbfd; border: 1px dashed #9db5cb; }
.catalog-empty h2 { margin-top: 0; }
.route-check-form { padding: 23px; background: #f9fbfc; border: 1px solid #b4c6d6; border-radius: 4px; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.route-check-form .form-note, .route-check-form .template-actions { grid-column: 1/-1; }
.route-result { margin-top: 24px; padding: 26px; background: #f3f8fc; border: 2px solid #6190bb; border-radius: 4px; }
.route-result h2 { font-size: 25px; line-height: 1.3; margin: 0 0 13px; }
.route-result > .text-button { margin-left: 15px; }
.document-checklist { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: #c2cfdb; border: 1px solid #c2cfdb; }
.document-checklist label { padding: 14px; display: flex; gap: 11px; align-items: flex-start; background: white; }
.document-checklist input { width: 17px; height: 17px; flex-shrink: 0; margin-top: 3px; accent-color: #2b639b; }
.document-checklist input:checked + span { color: #60767c; text-decoration: line-through; }
.muted { color: #586b7d; font-size: 13px; }
.report-template { white-space: pre-wrap; overflow-wrap: anywhere; color: #344a60; padding: 18px; background: white; border: 1px solid #c1cfdd; font: 14px/1.7 Arial,sans-serif; }
.template-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.action-status { color: #355a7c; }
.category-list { display: flex; flex-wrap: wrap; gap: 12px; }
.category-list > div { flex: 1 1 160px; border: 1px solid #b9c9d7; background: white; padding: 18px; }
.category-list dt { color: #255787; font: bold 27px Georgia,serif; }
.category-list dd { margin: 8px 0 0; }
.emergency-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 25px 0; }
.emergency-number { display: block; padding: 26px; color: white; background: linear-gradient(#cc4545,#a02727); border: 1px solid #852020; border-radius: 4px; }
.emergency-number strong { display: block; font: bold 54px Georgia,serif; }
.emergency-number span { font-weight: bold; }
.source-list { list-style: none; padding: 0; }
.source-list li { padding: 15px 0; border-bottom: 1px solid #bdcad6; }
.source-list a { color: #275b8b; font-weight: bold; text-decoration: underline; }
.source-list span { display: block; font-size: 13px; color: #5b6d7e; margin-top: 6px; }
@media (max-width: 820px) {
 .route-grid { grid-template-columns: 1fr; }
 .route-card h3 { font-size: 24px; }
 .catalog-grid { grid-template-columns: 1fr; }
 .catalog-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .page-heading h1 { font-size: 32px; }
}
@media (max-width: 540px) {
 .route-facts, .guide-grid, .route-check-form, .document-checklist, .emergency-actions, .catalog-filters { grid-template-columns: 1fr; }
 .route-card, .guide-panel { padding: 20px; }
 .home-search > div { flex-direction: column; }
 .route-steps li { gap: 12px; padding: 17px; }
 .route-steps h2 { font-size: 21px; }
 .guide-contact { padding: 20px; }
 .page-heading h1 { font-size: 29px; }
 .diagnosis-details { padding: 0 13px 15px; }
 .diagnosis-card > header { padding: 19px; }
 .route-result > .text-button { display: block; margin-left: 0; }
}
