/* Metro Route Engine -- purged Tailwind subset. Generated from actual class usage across all templates. */
*,*::before,*::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb;}
html{line-height:1.5;-webkit-text-size-adjust:100%;}
body{margin:0;line-height:inherit;}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;margin:0;}
p{margin:0;}
img,svg{display:block;vertical-align:middle;}
img{max-width:100%;height:auto;}
button{font-family:inherit;font-size:100%;font-weight:inherit;line-height:inherit;color:inherit;margin:0;padding:0;background-color:transparent;background-image:none;text-transform:none;cursor:pointer;}
a{color:inherit;text-decoration:inherit;}
ul,ol{margin:0;padding:0;list-style:none;}
details summary{cursor:pointer;list-style:none;}
details summary::-webkit-details-marker{display:none;}

/* Base utilities */
.-mr-2{margin-right:-0.5rem;}
.-mt-4{margin-top:-1rem;}
.-right-24{right:-6rem;}
.-top-24{top:-6rem;}
.absolute{position:absolute;}
.animate-ping{animation:tw-ping 1s cubic-bezier(0,0,.2,1) infinite;}
.bg-black{background-color:#000000;}
.bg-gray-100{background-color:#f3f4f6;}
.bg-gray-50{background-color:#f9fafb;}
.bg-opacity-40{--tw-bg-opacity:0.4;}
.bg-black.bg-opacity-40{background-color:rgba(0,0,0,0.4);}
.bg-red-100{background-color:#fee2e2;}
.bg-white{background-color:#ffffff;}
.bg-white\/80{background-color:rgba(255,255,255,0.8);}
.bg-yellow-100{background-color:#fef3c7;}
.block{display:block;}
.border{border-width:1px;border-style:solid;border-color:#e5e7eb;}
.border-b{border-bottom-width:1px;border-bottom-style:solid;border-bottom-color:#e5e7eb;}
.border-collapse{border-collapse:collapse;}
.border-l{border-left-width:1px;border-left-style:solid;border-left-color:#e5e7eb;}
.border-red-400{border-color:#f87171;}
.border-t{border-top-width:1px;border-top-style:solid;border-top-color:#e5e7eb;}
.border-yellow-300{border-color:#fcd34d;}
.bottom-1{bottom:0.25rem;}
.break-all{word-break:break-all;}
.cursor-pointer{cursor:pointer;}
.duration-200{transition-duration:200ms;}
.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1);}
.fixed{position:fixed;}
.flex{display:flex;}
.flex-1{flex:1 1 0%;}
.flex-col{flex-direction:column;}
.flex-shrink-0{flex-shrink:0;}
.flex-wrap{flex-wrap:wrap;}
.font-bold{font-weight:700;}
.font-extrabold{font-weight:800;}
.font-medium{font-weight:500;}
.font-normal{font-weight:400;}
.font-semibold{font-weight:600;}
.gap-1{gap:0.25rem;}
.gap-1\.5{gap:0.375rem;}
.gap-2{gap:0.5rem;}
.gap-2\.5{gap:0.625rem;}
.gap-3{gap:0.75rem;}
.gap-4{gap:1rem;}
.gap-5{gap:1.25rem;}
.gap-x-2{column-gap:0.5rem;}
.gap-y-1{row-gap:0.25rem;}
.grid{display:grid;}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.group{}
.h-10{height:2.5rem;}
.h-11{height:2.75rem;}
.h-12{height:3rem;}
.h-14{height:3.5rem;}
.h-2{height:0.5rem;}
.h-2\.5{height:0.625rem;}
.h-3{height:0.75rem;}
.h-4{height:1rem;}
.h-48{height:12rem;}
.h-6{height:1.5rem;}
.h-72{height:18rem;}
.h-9{height:2.25rem;}
.h-auto{height:auto;}
.h-full{height:100%;}
.hidden{display:none;}
.inline-block{display:inline-block;}
.inline-flex{display:inline-flex;}
.inset-0{top:0px;right:0px;bottom:0px;left:0px;}
.items-center{align-items:center;}
.items-start{align-items:flex-start;}
.justify-between{justify-content:space-between;}
.justify-center{justify-content:center;}
.leading-relaxed{line-height:1.625;}
.leading-tight{line-height:1.25;}
.list-decimal{list-style-type:decimal;}
.list-disc{list-style-type:disc;}
.list-inside{list-style-position:inside;}
.list-none{list-style-type:none;}
.max-w-3xl{max-width:48rem;}
.max-w-md{max-width:28rem;}
.max-w-xl{max-width:36rem;}
.max-w-xs{max-width:20rem;}
.mb-0\.5{margin-bottom:0.125rem;}
.mb-1{margin-bottom:0.25rem;}
.mb-1\.5{margin-bottom:0.375rem;}
.mb-2{margin-bottom:0.5rem;}
.mb-3{margin-bottom:0.75rem;}
.mb-4{margin-bottom:1rem;}
.mb-5{margin-bottom:1.25rem;}
.mb-6{margin-bottom:1.5rem;}
.mb-8{margin-bottom:2rem;}
.min-w-0{min-width:0px;}
.ml-2{margin-left:0.5rem;}
.ml-auto{margin-left:auto;}
.mr-2{margin-right:0.5rem;}
.mt-0\.5{margin-top:0.125rem;}
.mt-1{margin-top:0.25rem;}
.mt-2{margin-top:0.5rem;}
.mt-3{margin-top:0.75rem;}
.mt-4{margin-top:1rem;}
.mt-5{margin-top:1.25rem;}
.mt-6{margin-top:1.5rem;}
.mx-1{margin-left:0.25rem;margin-right:0.25rem;}
.mx-auto{margin-left:auto;margin-right:auto;}
.my-1{margin-top:0.25rem;margin-bottom:0.25rem;}
.object-contain{object-fit:contain;}
.opacity-70{opacity:0.7;}
.overflow-hidden{overflow:hidden;}
.overflow-x-auto{overflow-x:auto;}
.overflow-y-auto{overflow-y:auto;}
.p-1{padding:0.25rem;}
.p-1\.5{padding:0.375rem;}
.p-2{padding:0.5rem;}
.p-2\.5{padding:0.625rem;}
.p-3{padding:0.75rem;}
.p-4{padding:1rem;}
.p-5{padding:1.25rem;}
.pb-1{padding-bottom:0.25rem;}
.pb-10{padding-bottom:2.5rem;}
.pb-3{padding-bottom:0.75rem;}
.pb-5{padding-bottom:1.25rem;}
.pb-6{padding-bottom:1.5rem;}
.pointer-events-none{pointer-events:none;}
.pt-1{padding-top:0.25rem;}
.pt-4{padding-top:1rem;}
.pt-5{padding-top:1.25rem;}
.pt-6{padding-top:1.5rem;}
.px-0\.5{padding-left:0.125rem;padding-right:0.125rem;}
.px-1{padding-left:0.25rem;padding-right:0.25rem;}
.px-2{padding-left:0.5rem;padding-right:0.5rem;}
.px-3{padding-left:0.75rem;padding-right:0.75rem;}
.px-3\.5{padding-left:0.875rem;padding-right:0.875rem;}
.px-4{padding-left:1rem;padding-right:1rem;}
.px-6{padding-left:1.5rem;padding-right:1.5rem;}
.py-1{padding-top:0.25rem;padding-bottom:0.25rem;}
.py-1\.5{padding-top:0.375rem;padding-bottom:0.375rem;}
.py-2{padding-top:0.5rem;padding-bottom:0.5rem;}
.py-2\.5{padding-top:0.625rem;padding-bottom:0.625rem;}
.py-3{padding-top:0.75rem;padding-bottom:0.75rem;}
.py-4{padding-top:1rem;padding-bottom:1rem;}
.py-6{padding-top:1.5rem;padding-bottom:1.5rem;}
.relative{position:relative;}
.right-0{right:0px;}
.right-2{right:0.5rem;}
.rounded{border-radius:0.25rem;}
.rounded-2xl{border-radius:1rem;}
.rounded-full{border-radius:9999px;}
.rounded-lg{border-radius:0.5rem;}
.rounded-md{border-radius:0.375rem;}
.rounded-sm{border-radius:0.125rem;}
.rounded-xl{border-radius:0.75rem;}
.shadow-md{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,0.05);}
.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 8px 10px -6px rgba(0,0,0,0.1);}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0;}
.sticky{position:sticky;}
.text-2xl{font-size:1.5rem;line-height:2rem;}
.text-3xl{font-size:1.875rem;line-height:2.25rem;}
.text-\[10px\]{font-size:10px;}
.text-\[11px\]{font-size:11px;}
.text-base{font-size:1rem;line-height:1.5rem;}
.text-blue-600{color:#2563eb;}
.text-center{text-align:center;}
.text-emerald-600{color:#059669;}
.text-gray-300{color:#d1d5db;}
.text-gray-400{color:#9ca3af;}
.text-gray-500{color:#6b7280;}
.text-gray-600{color:#4b5563;}
.text-gray-700{color:#374151;}
.text-gray-900{color:#111827;}
.text-green-600{color:#16a34a;}
.text-left{text-align:left;}
.text-lg{font-size:1.125rem;line-height:1.75rem;}
.text-red-500{color:#ef4444;}
.text-red-600{color:#dc2626;}
.text-red-700{color:#b91c1c;}
.text-rose-500{color:#f43f5e;}
.text-sm{font-size:0.875rem;line-height:1.25rem;}
.text-white{color:#ffffff;}
.text-white\/70{color:rgba(255,255,255,0.7);}
.text-white\/80{color:rgba(255,255,255,0.8);}
.text-white\/90{color:rgba(255,255,255,0.9);}
.text-xl{font-size:1.25rem;line-height:1.75rem;}
.text-xs{font-size:0.75rem;line-height:1rem;}
.text-yellow-800{color:#92400e;}
.top-0{top:0px;}
.top-full{top:100%;}
.tracking-wider{letter-spacing:0.05em;}
.transform{transform:translate(var(--tw-translate-x,0),var(--tw-translate-y,0)) rotate(var(--tw-rotate,0)) skewX(var(--tw-skew-x,0)) skewY(var(--tw-skew-y,0)) scaleX(var(--tw-scale-x,1)) scaleY(var(--tw-scale-y,1));}
.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms;}
.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms;}
.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.underline{text-decoration:underline;}
.uppercase{text-transform:uppercase;}
.w-11{width:2.75rem;}
.w-12{width:3rem;}
.w-2{width:0.5rem;}
.w-2\.5{width:0.625rem;}
.w-3{width:0.75rem;}
.w-3\/5{width:60%;}
.w-4{width:1rem;}
.w-6{width:1.5rem;}
.w-72{width:18rem;}
.w-9{width:2.25rem;}
.w-full{width:100%;}
.whitespace-nowrap{white-space:nowrap;}
.z-40{z-index:40;}
.z-50{z-index:50;}
.divide-y > :not([hidden]) ~ :not([hidden]){border-top-width:1px;border-top-style:solid;border-color:#e5e7eb;}
.space-y-1 > :not([hidden]) ~ :not([hidden]){margin-top:0.25rem;}
.space-y-2 > :not([hidden]) ~ :not([hidden]){margin-top:0.5rem;}
.space-y-3 > :not([hidden]) ~ :not([hidden]){margin-top:0.75rem;}
.space-y-3\.5 > :not([hidden]) ~ :not([hidden]){margin-top:0.875rem;}
.space-y-4 > :not([hidden]) ~ :not([hidden]){margin-top:1rem;}

/* Hover states */
.hover\:bg-gray-100:hover{background-color:#f3f4f6;}
.hover\:bg-gray-200:hover{background-color:#e5e7eb;}
.hover\:bg-gray-50:hover{background-color:#f9fafb;}
.hover\:bg-white\/10:hover{background-color:rgba(255,255,255,0.1);}
.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -2px rgba(0,0,0,0.1);}
.hover\:shadow-sm:hover{box-shadow:0 1px 2px 0 rgba(0,0,0,0.05);}
.hover\:text-gray-700:hover{color:#374151;}
.hover\:text-white:hover{color:#ffffff;}
.hover\:underline:hover{text-decoration:underline;}

/* Group-hover / group-open / open (details) states */
details[open].open\:bg-white{background-color:#ffffff;}
details[open].open\:border{border-width:1px;border-style:solid;border-color:#e5e7eb;}

/* Responsive: sm (min-width: 640px) */
@media (min-width: 640px) {
  .sm\:inline{display:inline;}
  .sm\:p-7{padding:1.75rem;}
  .sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
  .sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
  .sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr));}
  .sm\:p-6{padding:1.5rem;}
  .sm\:text-2xl{font-size:1.5rem;line-height:2rem;}
  .sm\:text-3xl{font-size:1.875rem;line-height:2.25rem;}
  .sm\:text-\[11px\]{font-size:11px;}
  .sm\:text-base{font-size:1rem;line-height:1.5rem;}
}

/* Responsive: md (min-width: 768px) */
@media (min-width: 768px) {
  .md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
  .md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem;}
  .md\:text-3xl{font-size:1.875rem;line-height:2.25rem;}
  .md\:text-lg{font-size:1.125rem;line-height:1.75rem;}
}

/* Responsive: lg (min-width: 1024px) */
@media (min-width: 1024px) {
  .lg\:max-w-2xl{max-width:42rem;}
  .lg\:max-w-4xl{max-width:56rem;}
  .lg\:pr-4{padding-right:1rem;}
  .lg\:divide-x > :not([hidden]) ~ :not([hidden]){border-left-width:1px;border-left-style:solid;border-color:#e5e7eb;}
  .lg\:flex-row{flex-direction:row;}
  .lg\:gap-0{gap:0px;}
  .lg\:gap-10{gap:2.5rem;}
  .lg\:grid{display:grid;}
  .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
  .lg\:mb-0{margin-bottom:0px;}
  .lg\:mx-0{margin-left:0px;margin-right:0px;}
  .lg\:pb-0{padding-bottom:0px;}
  .lg\:px-4{padding-left:1rem;padding-right:1rem;}
  .lg\:text-left{text-align:left;}
}

@keyframes tw-ping{75%,100%{transform:scale(2);opacity:0;}}

/* PATCH: dynamically-built (RTL-ternary / PHP-variable) classes the automated scanner missed on first pass */
.mr-3{margin-right:0.75rem;}
.ml-3{margin-left:0.75rem;}
.mr-auto{margin-right:auto;}
.left-0{left:0px;}
.left-4{left:1rem;}
.right-4{right:1rem;}
.left-2\.5{left:0.625rem;}
.right-2\.5{right:0.625rem;}
.top-1\/2{top:50%;}
.-mt-2{margin-top:-0.5rem;}
.-mt-2\.5{margin-top:-0.625rem;}
.border-r{border-right-width:1px;border-right-style:solid;border-right-color:#e5e7eb;}
.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr));}
.translate-x-full{transform:translateX(100%) !important;}
.-translate-x-full{transform:translateX(-100%) !important;}
.divide-x > :not([hidden]) ~ :not([hidden]){border-left-width:1px;border-left-style:solid;border-color:#e5e7eb;}

/* PATCH 2: group-hover / group-open final gaps */
.group:hover .group-hover\:translate-x-0\.5{transform:translateX(0.125rem);}
details[open] .group-open\:rotate-180{transform:rotate(180deg);}

/* PATCH 3: input-field padding + focus-ring states */
.pl-8{padding-left:2rem;}
.pr-8{padding-right:2rem;}
.pl-3{padding-left:0.75rem;}
.pr-3{padding-right:0.75rem;}
.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px;}
.focus\:ring-1:focus{box-shadow:0 0 0 1px #991236;}