/* GlobalRPh Vancomycin Advanced Calculator shared stylesheet
   Version 1.7 | October 2026
   Upload beside all three calculator files in /blogCalcs/. */
*{box-sizing:border-box}
.grph-adv{font-family:Arial,Helvetica,sans-serif;color:#10243a;font-size:16px;line-height:1.45;width:100%;max-width:800px;margin:0 auto;padding:0 8px}
.grph-adv h1{font-size:29px;line-height:1.15;color:#075985;margin:0}
.grph-adv h2{font-size:22px;color:#075985;margin:0 0 12px}
.grph-adv h3{font-size:18px;margin:0 0 10px}
.hero{background:#e8f3fb;border:1px solid #b8d6ea;border-radius:8px;padding:18px;margin:8px 0 14px}
.subtitle{font-size:17px;margin:8px 0 0;color:#334e68}
.section{border:1px solid #c9d8e6;border-radius:7px;margin:12px 0;background:#fff}
.section>summary{cursor:pointer;font-size:18px;font-weight:700;padding:13px;background:#f3f7fa;color:#064f7a}
.section-content{padding:14px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.field{min-width:0}
.full{grid-column:1/-1}
.field label{display:block;font-weight:700;font-size:16px;margin-bottom:5px}
.field input,.field select{width:100%;font:inherit;padding:10px;border:1px solid #9eb5c8;border-radius:6px;background:#fff;color:#10243a}
.help{font-size:14px;color:#4b6478;margin-top:5px}
.checks{display:grid;gap:8px;margin-top:10px}
.check{display:flex;gap:8px;align-items:flex-start}
.check input{margin-top:4px}
.special{background:#f7fbfe;border:1px solid #c6deee;padding:12px;border-radius:7px;margin-top:12px}
.actions{display:grid;grid-template-columns:2fr 1fr;gap:10px;margin:14px 0}
.button{display:block;text-align:center;padding:12px 14px;border-radius:6px;border:1px solid #0b5c91;font:inherit;font-weight:700;text-decoration:none;cursor:pointer}
.primary{background:#0b5c91;color:#fff}
.secondary{background:#fff;color:#0b5c91}
.hidden{display:none!important}
.results{border:1px solid #9fcbb3;border-radius:8px;padding:14px;margin:16px 0;background:#f5fbf7}
.errors{border:1px solid #d89191;background:#fff2f2;padding:14px;border-radius:8px;margin:16px 0;color:#7a1d1d}
.warning{border:1px solid #e6c168;background:#fff8e6;padding:12px;border-radius:7px;margin:10px 0;color:#5c4300}
.info{border:1px solid #a9cfe3;background:#eef8fd;padding:12px;border-radius:7px;margin:10px 0}
.preferred{border-left:5px solid #2d936c;background:#eaf8f1;padding:12px;margin:10px 0}
.preferred.outside{border-left-color:#a36b00;background:#fff8e6}
.metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.metric{border:1px solid #cddae5;border-radius:6px;padding:10px;background:#fff}
.metric b{display:block;font-size:19px;color:#064f7a}
.tablewrap{overflow-x:auto;margin-top:10px}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{padding:9px;border-bottom:1px solid #d6e1ea;text-align:left;white-space:nowrap}
th{background:#edf4f8;color:#064f7a}
.disclaimer{font-size:13px;color:#526b7c;border-top:1px solid #d3e0e8;margin:18px 0;padding:12px 4px}
.pill{display:inline-block;padding:2px 7px;border-radius:12px;background:#dbeefa;font-size:13px;font-weight:700}
.fallback button{margin-top:8px}
.equation{font-family:Georgia,serif;background:#f7f9fb;padding:8px;border-left:4px solid #7da9c4;margin:7px 0;overflow-wrap:anywhere}
.required-note{font-size:14px;margin:2px 0 12px;color:#405b70}
.required-mark{color:#b42318;font-weight:800}
.validation-summary{border:2px solid #b42318;background:#fff1f1;color:#761414;padding:15px 16px;border-radius:8px;margin:12px 0 16px}
.validation-summary h2{color:#8a1717;margin:0 0 8px}
.validation-summary p{margin:0 0 8px}
.validation-summary ul{margin:7px 0 0;padding-left:22px}
.validation-summary a{color:#761414;text-decoration:underline;text-decoration-thickness:1px}
.field input[aria-invalid=true],.field select[aria-invalid=true],input[aria-invalid=true],select[aria-invalid=true]{border:2px solid #b42318!important;background:#fff1f1!important;box-shadow:0 0 0 2px rgba(180,35,24,.12)}
input[aria-invalid=true]:focus,select[aria-invalid=true]:focus{outline:3px solid rgba(180,35,24,.25);outline-offset:1px}
.workflow-guide{border-left:5px solid #0b5c91;background:#eef8fd;padding:11px 12px;margin-top:13px;border-radius:4px;font-size:15px}
.mini-actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.button.small{display:inline-block;width:auto;padding:7px 10px;font-size:14px}
.status-line{font-size:14px;font-weight:700;color:#36566e;margin-top:7px}
.results-nav{margin-top:14px}
.button:focus{outline:3px solid rgba(11,92,145,.25);outline-offset:2px}
.regimen-tool{border:1px solid #8bb7d1;background:#f7fbfe;border-radius:8px;padding:14px;margin:14px 0}
.regimen-tool h3{color:#064f7a;margin-top:0}
.exact-target{border-left:5px solid #0b5c91;background:#eaf5fb;padding:12px;margin:10px 0;border-radius:4px}
.exact-target strong{color:#064f7a}
.custom-regimen-form{border-top:1px solid #bdd5e4;margin-top:14px;padding-top:14px}
.custom-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.custom-result{border:1px solid #9fcbb3;background:#edf9f2;border-radius:7px;padding:12px;margin:12px 0}
.custom-result.outside{border-color:#e6c168;background:#fff8e6}
.custom-error{border:2px solid #b42318;background:#fff1f1;color:#761414;border-radius:7px;padding:12px;margin:10px 0}
.custom-error ul{margin:6px 0 0;padding-left:22px}
.target-difference{font-weight:700}
.formula-note{font-size:14px;color:#405b70;margin:6px 0}
.custom-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}

.unit-input{display:grid;grid-template-columns:2fr 1fr;gap:6px}
.mt-12{margin-top:12px}
.narrow-control{max-width:360px;margin-top:8px}

@media(max-width:620px){.grph-adv{padding:0 4px}
.grid,.metrics,.actions,.custom-grid{grid-template-columns:1fr}
.grph-adv h1{font-size:25px}
.section>summary{font-size:17px}
th,td{font-size:14px;padding:8px}
}

.grph-adv.grph-adv--nojs .hidden{display:block!important}

/* Shared review, report, and narrow-screen presentation. */
html{scroll-behavior:smooth;background:#f2f6fa}
body{margin:0;padding:10px 0 28px}
.grph-adv{font-size:17px;line-height:1.5;max-width:900px;padding:0 14px}
.grph-adv h1{font-size:31px;line-height:1.18}
.hero{padding:24px;background:linear-gradient(130deg,#0c3558,#0b5267);color:#fff;border:0;border-radius:13px}
.hero h1,.hero .subtitle{color:#fff}
.eyebrow{font-size:13px;letter-spacing:.025em;margin:0 0 10px;color:#d3eefa;font-weight:700}
.top-nav{display:flex;gap:12px;flex-wrap:wrap;padding:8px 0 12px}
.top-nav a,.return-top{display:inline-block;color:#075985;font-weight:700;text-decoration:underline;text-underline-offset:3px;padding:7px 0}
.scope-note{background:#fff;border:1px solid #bfd2df;border-left:5px solid #0b647d;border-radius:8px;padding:16px;margin:14px 0;font-size:15px}
.section{border-radius:10px;overflow:hidden}
.section>summary{padding:15px;font-size:19px}
.section-content{padding:18px}
.field label{line-height:1.4}
.field input,.field select{min-height:46px}
.check input{width:19px;height:19px;flex-shrink:0}
.button{min-height:46px;border-radius:8px}
.button[disabled]{cursor:not-allowed;opacity:.6}
.review-details{border-top:2px solid #b9d0e0;margin-top:24px;padding-top:20px}
.review-details h3{font-size:20px;line-height:1.35;margin:18px 0 12px}
.review-details p{margin:8px 0}
.review-details li{margin:6px 0}
.uncertainty-box{border:1px solid #afbedc;border-left:5px solid #6277b9;border-radius:8px;padding:16px;background:#f6f7ff;margin:15px 0}
.range-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.range-grid .metric{font-size:14px}
.range-grid .metric b{font-size:21px;line-height:1.3;margin:5px 0}
.report-controls{padding:18px;margin:20px 0;background:#eaf4fa;border:1px solid #a6c9df;border-radius:9px}
.report-controls .button{width:100%}
.information-level{border-left:5px solid #517797}
.tablewrap{max-width:100%;overflow-x:auto}
.wrap-table table{table-layout:fixed;font-size:14px}
.wrap-table th,.wrap-table td{white-space:normal;overflow-wrap:anywhere;vertical-align:top;padding:9px 7px}
.wrap-table li{margin:3px 0}
.wrap-table ul{padding-left:15px;margin:4px 0}
.wrap-table th{font-size:14px}
.stale-warning{border:2px solid #b66e00;font-weight:700}
[hidden]{display:none!important}
.case-snapshot{background:#fff;border:1px solid #a9c4d4;border-radius:9px;padding:16px;margin:14px 0}
.case-snapshot h3{margin-top:0}
.case-snapshot p{margin:8px 0;overflow-wrap:anywhere}
.case-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:12px 0 18px}
.case-actions form{margin:0}
.draft-notice{border-left:5px solid #a36b00}
.field input[readonly]{background:#edf1f5;color:#314b60}
.button:focus-visible,summary:focus-visible,a:focus-visible{outline:3px solid #075985;outline-offset:3px}
.recommendation-review{border:2px solid #b66e00}
@media(max-width:620px){
  .grph-adv{padding:0 9px;font-size:16px}
  .hero{padding:19px 16px}.grph-adv h1{font-size:27px}
  .section-content{padding:13px}.section>summary{padding:13px;font-size:18px}
  .range-grid{grid-template-columns:1fr}.review-details h3{font-size:19px}
  .results{padding:12px}.review-details{margin-top:18px}
  .tablewrap table{table-layout:fixed;width:100%}
  .tablewrap th,.tablewrap td{white-space:normal;overflow-wrap:anywhere;padding:7px 4px;font-size:12px}
  .tablewrap .pill{font-size:11px;padding:2px 4px}
  .uncertainty-box,.report-controls{padding:12px}
  .wrap-table table,.wrap-table tbody,.wrap-table tr,.wrap-table th,.wrap-table td{display:block;width:100%;box-sizing:border-box}
  .wrap-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .wrap-table tr{border:1px solid #b9cddd;border-radius:8px;margin:12px 0;overflow:hidden;background:#fff}
  .wrap-table tbody th{font-size:15px;background:#eaf3f8;padding:12px;overflow-wrap:normal}
  .wrap-table td{padding:9px 12px;font-size:14px;overflow-wrap:normal}
  .wrap-table td::before{content:attr(data-label);display:block;color:#075985;font-weight:700;margin-bottom:3px}

}
@media print{
  html,body{background:#fff}.grph-adv{max-width:none}
  .top-nav,.grph-adv>form,.report-controls,.custom-regimen-form,.results-nav,.return-top,.actions,.case-actions{display:none!important}
  .hero{background:#fff;color:#173047;padding:0}.hero h1,.hero .subtitle,.eyebrow{color:#173047}
  .section,.results,.uncertainty-box{overflow:visible;break-inside:auto}
  .metric,tr{break-inside:avoid}.tablewrap{overflow:visible}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}}

/* v1.7: field-local validation text supplements the linked error summary. */
.field-error{color:#8a1717;font-size:14px;font-weight:700;line-height:1.4;margin:7px 0 3px;overflow-wrap:anywhere}
.field-error[hidden]{display:none!important}
.unit-input + .field-error{grid-column:1/-1}
.check:has(input[aria-invalid=true]){border:2px solid #b42318;background:#fff1f1;border-radius:6px;padding:8px}
.validation-summary li,.custom-error li{margin:7px 0;overflow-wrap:anywhere}
.custom-error a{color:#761414;text-decoration:underline}
input[data-number=true]{font-variant-numeric:tabular-nums}

/* v1.8: infusion-policy controls and accessible dose table. */
.grph-adv .infusion-policy-panel{margin-top:18px;padding:16px;border:1px solid #abc4d4;border-radius:9px;background:#f6fafc}
.grph-adv .infusion-policy-panel h3{margin-top:0}
.grph-adv .infusion-policy-reference{margin-top:8px;border-top:1px solid #c2d4df;padding-top:10px}
.grph-adv .infusion-policy-reference>summary{cursor:pointer;font-weight:700;color:#075985;padding:8px 0}
.grph-adv .infusion-policy-content{padding-top:8px}
.grph-adv .infusion-policy-table table{min-width:0;table-layout:fixed}
.grph-adv .infusion-policy-table caption{text-align:left;font-weight:700;padding:0 0 8px}
.grph-adv .infusion-policy-table th,.grph-adv .infusion-policy-table td{white-space:normal;overflow-wrap:anywhere}
.grph-adv .infusion-policy-summary{padding-top:8px;border-top:1px solid #c2d4df}
@media(max-width:620px){.grph-adv .infusion-policy-panel{padding:12px}.grph-adv .infusion-policy-table th,.grph-adv .infusion-policy-table td{font-size:14px;padding:9px 7px}}
