/* oh-modal-tw.css — modal-scoped Tailwind utility shim for the Health River page.
   The page's modals were authored in Tailwind utilities, but this page loads no
   Tailwind runtime, so every dialog collapsed. These rules are scoped entirely to
   `.oh-tw` (added to each modal root), so nothing outside the modals is affected.
   Generated from the exact utility classes used by the modals. If a modal gains
   new Tailwind classes, add them to the list in tools/gen_modal_shim.php and
   regenerate:  php tools/gen_modal_shim.php  (prepend the base block, below). */

/* Minimal, modal-scoped preflight (mirrors Tailwind's reset for these elements). */
.oh-tw, .oh-tw *{box-sizing:border-box}
.oh-tw button{background:none;border:0;margin:0;padding:0;font:inherit;color:inherit;line-height:inherit;cursor:pointer}
.oh-tw input,.oh-tw select,.oh-tw textarea{font:inherit;color:inherit;box-sizing:border-box}

/* Overlay base: each modal root carries `oh-tw` + `hidden` (+ its z-[..]). */
.oh-tw{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.6);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2100}
.oh-tw.hidden{display:none!important}
@keyframes oh-pulse{0%,100%{opacity:1}50%{opacity:.5}}
.oh-tw select{-webkit-appearance:auto;appearance:auto}

.oh-tw .-left-\[9px\]{left:-9px}
.oh-tw .-translate-y-1\/2{transform:translateY(-50%)}
.oh-tw .absolute{position:absolute}
.oh-tw .animate-pulse{animation:oh-pulse 2s cubic-bezier(.4,0,.6,1) infinite}
.oh-tw .backdrop-blur-sm{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.oh-tw .bg-amber-50{background-color:#fffbeb}
.oh-tw .bg-black\/60{background-color:rgba(0,0,0,.6)}
.oh-tw .bg-blue-50{background-color:#eff6ff}
.oh-tw .bg-blue-500{background-color:#3b82f6}
.oh-tw .bg-blue-600{background-color:#2563eb}
.oh-tw .bg-emerald-50{background-color:#ecfdf5}
.oh-tw .bg-gray-100{background-color:#f3f4f6}
.oh-tw .bg-gray-50{background-color:#f9fafb}
.oh-tw .bg-gray-800{background-color:#1f2937}
.oh-tw .bg-gray-900{background-color:#111827}
.oh-tw .bg-green-50{background-color:#f0fdf4}
.oh-tw .bg-green-500{background-color:#22c55e}
.oh-tw .bg-green-700{background-color:#15803d}
.oh-tw .bg-red-50{background-color:#fef2f2}
.oh-tw .bg-rose-50{background-color:#fff1f2}
.oh-tw .bg-teal-50{background-color:#f0fdfa}
.oh-tw .bg-teal-500{background-color:#14b8a6}
.oh-tw .bg-teal-600{background-color:#0d9488}
.oh-tw .bg-violet-100{background-color:#ede9fe}
.oh-tw .bg-violet-50{background-color:#f5f3ff}
.oh-tw .bg-violet-600{background-color:#7c3aed}
.oh-tw .bg-white{background-color:#fff}
.oh-tw .block{display:block}
.oh-tw .border{border-width:1px;border-style:solid}
.oh-tw .border-2{border-width:2px;border-style:solid}
.oh-tw .border-b{border-bottom-width:1px;border-bottom-style:solid}
.oh-tw .border-blue-100{border-color:#dbeafe}
.oh-tw .border-dashed{border-style:dashed}
.oh-tw .border-gray-100{border-color:#f3f4f6}
.oh-tw .border-gray-200{border-color:#e5e7eb}
.oh-tw .border-green-200{border-color:#bbf7d0}
.oh-tw .border-l-2{border-left-width:2px;border-left-style:solid}
.oh-tw .border-red-100{border-color:#fee2e2}
.oh-tw .border-red-200{border-color:#fecaca}
.oh-tw .border-t{border-top-width:1px;border-top-style:solid}
.oh-tw .border-teal-100{border-color:#ccfbf1}
.oh-tw .border-violet-100{border-color:#ede9fe}
.oh-tw .bottom-0{bottom:0}
.oh-tw .cursor-pointer{cursor:pointer}
.oh-tw .disabled\:opacity-50:disabled{opacity:.5}
.oh-tw .disabled\:opacity-60:disabled{opacity:.6}
.oh-tw .disabled\:cursor-not-allowed:disabled{cursor:not-allowed}
.oh-tw .fixed{position:fixed}
.oh-tw .flex{display:flex}
.oh-tw .flex-1{flex:1 1 0%}
.oh-tw .flex-col{flex-direction:column}
.oh-tw .flex-wrap{flex-wrap:wrap}
.oh-tw .focus\:ring-2:focus{box-shadow:0 0 0 2px rgba(59,130,246,.5)}
.oh-tw .focus\:ring-blue-500:focus{box-shadow:0 0 0 2px rgba(59,130,246,.6)}
.oh-tw .font-bold{font-weight:700}
.oh-tw .font-medium{font-weight:500}
.oh-tw .font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
.oh-tw .font-semibold{font-weight:600}
.oh-tw .gap-1{gap:.25rem}
.oh-tw .gap-2{gap:.5rem}
.oh-tw .gap-3{gap:.75rem}
.oh-tw .gap-4{gap:1rem}
.oh-tw .grid{display:grid}
.oh-tw .grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}
.oh-tw .grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.oh-tw .h-2{height:.5rem}
.oh-tw .h-4{height:1rem}
.oh-tw .hidden{display:none}
.oh-tw .hover\:bg-amber-100:hover{background-color:#fef3c7}
.oh-tw .hover\:bg-black:hover{background-color:#000}
.oh-tw .hover\:bg-blue-100:hover{background-color:#dbeafe}
.oh-tw .hover\:bg-blue-600:hover{background-color:#2563eb}
.oh-tw .hover\:bg-blue-700:hover{background-color:#1d4ed8}
.oh-tw .hover\:bg-emerald-100:hover{background-color:#d1fae5}
.oh-tw .hover\:bg-gray-100:hover{background-color:#f3f4f6}
.oh-tw .hover\:bg-gray-200:hover{background-color:#e5e7eb}
.oh-tw .hover\:bg-green-800:hover{background-color:#166534}
.oh-tw .hover\:bg-red-100:hover{background-color:#fee2e2}
.oh-tw .hover\:bg-red-50:hover{background-color:#fef2f2}
.oh-tw .hover\:bg-rose-100:hover{background-color:#ffe4e6}
.oh-tw .hover\:bg-teal-100:hover{background-color:#ccfbf1}
.oh-tw .hover\:bg-teal-700:hover{background-color:#0f766e}
.oh-tw .hover\:bg-violet-200:hover{background-color:#ddd6fe}
.oh-tw .hover\:border-teal-300:hover{border-color:#5eead4}
.oh-tw .hover\:scale-\[1\.002\]:hover{transform:scale(1.002)}
.oh-tw .hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.oh-tw .hover\:text-gray-600:hover{color:#4b5563}
.oh-tw .hover\:text-white:hover{color:#fff}
.oh-tw .inset-0{top:0;right:0;bottom:0;left:0}
.oh-tw .italic{font-style:italic}
.oh-tw .justify-between{justify-content:space-between}
.oh-tw .justify-center{justify-content:center}
.oh-tw .items-center{align-items:center}
.oh-tw .items-start{align-items:flex-start}
.oh-tw .last\:border-0:last-child{border-width:0}
.oh-tw .left-3{left:.75rem}
.oh-tw .max-h-40{max-height:10rem}
.oh-tw .max-h-64{max-height:16rem}
.oh-tw .max-h-\[75vh\]{max-height:75vh}
.oh-tw .max-h-\[90vh\]{max-height:90vh}
.oh-tw .max-w-2xl{max-width:42rem}
.oh-tw .max-w-3xl{max-width:48rem}
.oh-tw .max-w-4xl{max-width:56rem}
.oh-tw .max-w-lg{max-width:32rem}
.oh-tw .max-w-md{max-width:28rem}
.oh-tw .max-w-sm{max-width:24rem}
.oh-tw .max-w-xl{max-width:36rem}
.oh-tw .mb-0{margin-bottom:0}
.oh-tw .mb-1{margin-bottom:.25rem}
.oh-tw .mb-2{margin-bottom:.5rem}
.oh-tw .mb-3{margin-bottom:.75rem}
.oh-tw .mb-4{margin-bottom:1rem}
.oh-tw .mt-1{margin-top:.25rem}
.oh-tw .mt-2{margin-top:.5rem}
.oh-tw .mt-3{margin-top:.75rem}
.oh-tw .mt-8{margin-top:2rem}
.oh-tw .mx-4{margin-left:1rem;margin-right:1rem}
.oh-tw .opacity-0{opacity:0}
.oh-tw .outline-none{outline:2px solid transparent;outline-offset:2px}
.oh-tw .overflow-auto{overflow:auto}
.oh-tw .overflow-hidden{overflow:hidden}
.oh-tw .overflow-y-auto{overflow-y:auto}
.oh-tw .p-3{padding:.75rem}
.oh-tw .p-4{padding:1rem}
.oh-tw .p-5{padding:1.25rem}
.oh-tw .p-6{padding:1.5rem}
.oh-tw .p-8{padding:2rem}
.oh-tw .pb-8{padding-bottom:2rem}
.oh-tw .pl-10{padding-left:2.5rem}
.oh-tw .pt-1{padding-top:.25rem}
.oh-tw .pt-2{padding-top:.5rem}
.oh-tw .pt-6{padding-top:1.5rem}
.oh-tw .px-10{padding-left:2.5rem;padding-right:2.5rem}
.oh-tw .px-2{padding-left:.5rem;padding-right:.5rem}
.oh-tw .px-3{padding-left:.75rem;padding-right:.75rem}
.oh-tw .px-4{padding-left:1rem;padding-right:1rem}
.oh-tw .px-8{padding-left:2rem;padding-right:2rem}
.oh-tw .py-0\.5{padding-top:.125rem;padding-bottom:.125rem}
.oh-tw .py-1{padding-top:.25rem;padding-bottom:.25rem}
.oh-tw .py-16{padding-top:4rem;padding-bottom:4rem}
.oh-tw .py-2{padding-top:.5rem;padding-bottom:.5rem}
.oh-tw .py-2\.5{padding-top:.625rem;padding-bottom:.625rem}
.oh-tw .py-3{padding-top:.75rem;padding-bottom:.75rem}
.oh-tw .py-5{padding-top:1.25rem;padding-bottom:1.25rem}
.oh-tw .relative{position:relative}
.oh-tw .right-3{right:.75rem}
.oh-tw .right-4{right:1rem}
.oh-tw .ring-4{box-shadow:0 0 0 4px rgba(59,130,246,.35)}
.oh-tw .ring-white{box-shadow:0 0 0 4px #fff}
.oh-tw .rounded{border-radius:.25rem}
.oh-tw .rounded-2xl{border-radius:1rem}
.oh-tw .rounded-full{border-radius:9999px}
.oh-tw .rounded-lg{border-radius:.5rem}
.oh-tw .rounded-xl{border-radius:.75rem}
.oh-tw .scale-95{transform:scale(.95)}
.oh-tw .scale-100{transform:scale(1)}
.oh-tw .opacity-100{opacity:1}
.oh-tw .shadow-2xl{box-shadow:0 25px 50px -12px rgba(0,0,0,.25)}
.oh-tw .shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}
.oh-tw .shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}
.oh-tw .shrink-0{flex-shrink:0}
.oh-tw .space-y-1 > * + *{margin-top:.25rem}
.oh-tw .space-y-2 > * + *{margin-top:.5rem}
.oh-tw .space-y-3 > * + *{margin-top:.75rem}
.oh-tw .space-y-4 > * + *{margin-top:1rem}
.oh-tw .space-y-5 > * + *{margin-top:1.25rem}
.oh-tw .space-y-6 > * + *{margin-top:1.5rem}
.oh-tw .space-y-8 > * + *{margin-top:2rem}
.oh-tw .sticky{position:sticky}
.oh-tw .text-2xl{font-size:1.5rem;line-height:2rem}
.oh-tw .text-3xl{font-size:1.875rem;line-height:2.25rem}
.oh-tw .text-4xl{font-size:2.25rem;line-height:2.5rem}
.oh-tw .text-\[10px\]{font-size:10px;line-height:14px}
.oh-tw .text-amber-800{color:#92400e}
.oh-tw .text-blue-700{color:#1d4ed8}
.oh-tw .text-center{text-align:center}
.oh-tw .text-emerald-800{color:#065f46}
.oh-tw .text-gray-300{color:#d1d5db}
.oh-tw .text-gray-400{color:#9ca3af}
.oh-tw .text-gray-500{color:#6b7280}
.oh-tw .text-gray-600{color:#4b5563}
.oh-tw .text-gray-700{color:#374151}
.oh-tw .text-gray-800{color:#1f2937}
.oh-tw .text-gray-900{color:#111827}
.oh-tw .text-green-800{color:#166534}
.oh-tw .text-green-900\/70{color:rgba(20,83,45,.7)}
.oh-tw .text-left{text-align:left}
.oh-tw .text-lg{font-size:1.125rem;line-height:1.75rem}
.oh-tw .text-red-500{color:#ef4444}
.oh-tw .text-red-600{color:#dc2626}
.oh-tw .text-red-700{color:#b91c1c}
.oh-tw .text-red-800{color:#991b1b}
.oh-tw .text-rose-800{color:#9f1239}
.oh-tw .text-sm{font-size:.875rem;line-height:1.25rem}
.oh-tw .text-teal-700{color:#0f766e}
.oh-tw .text-teal-800{color:#115e59}
.oh-tw .text-teal-900{color:#134e4a}
.oh-tw .text-violet-700{color:#6d28d9}
.oh-tw .text-violet-900{color:#4c1d95}
.oh-tw .text-white{color:#fff}
.oh-tw .text-xl{font-size:1.25rem;line-height:1.75rem}
.oh-tw .text-xs{font-size:.75rem;line-height:1rem}
.oh-tw .top-0{top:0}
.oh-tw .top-1\/2{top:50%}
.oh-tw .top-2{top:.5rem}
.oh-tw .top-4{top:1rem}
.oh-tw .tracking-tighter{letter-spacing:-.05em}
.oh-tw .tracking-wide{letter-spacing:.025em}
.oh-tw .tracking-widest{letter-spacing:.1em}
.oh-tw .transform{transform:translateZ(0)}
.oh-tw .transition{transition:all .15s ease}
.oh-tw .transition-all{transition:all .2s ease}
.oh-tw .underline{text-decoration:underline}
.oh-tw .uppercase{text-transform:uppercase}
.oh-tw .w-2{width:.5rem}
.oh-tw .w-4{width:1rem}
.oh-tw .w-full{width:100%}
.oh-tw .whitespace-nowrap{white-space:nowrap}
.oh-tw .whitespace-pre-wrap{white-space:pre-wrap}
@media(min-width:640px){.oh-tw .sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:768px){.oh-tw .md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.oh-tw .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}
