/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-50:oklch(98.7% .022 95.277);--color-amber-200:oklch(92.4% .12 95.746);--color-amber-900:oklch(41.4% .112 45.904);--color-amber-950:oklch(27.9% .077 45.635);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-500:oklch(69.6% .17 162.48);--color-emerald-800:oklch(43.2% .095 166.913);--color-cyan-900:oklch(39.8% .07 227.392);--color-rose-50:oklch(96.9% .015 12.422);--color-rose-500:oklch(64.5% .246 16.439);--color-rose-600:oklch(58.6% .253 17.585);--color-rose-900:oklch(41% .159 10.272);--color-zinc-50:oklch(98.5% 0 0);--color-zinc-100:oklch(96.7% .001 286.375);--color-zinc-200:oklch(92% .004 286.32);--color-zinc-300:oklch(87.1% .006 286.286);--color-zinc-500:oklch(55.2% .016 285.938);--color-zinc-600:oklch(44.2% .017 285.786);--color-zinc-700:oklch(37% .013 285.805);--color-zinc-800:oklch(27.4% .006 286.033);--color-zinc-900:oklch(21% .006 285.885);--color-zinc-950:oklch(14.1% .005 285.823);--color-white:#fff;--spacing:.25rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--ease-in:cubic-bezier(.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.inset-0{inset:calc(var(--spacing) * 0)}.-inset-y-px{inset-block:-1px}.end{inset-inline-end:var(--spacing)}.top-1{top:calc(var(--spacing) * 1)}.top-2{top:calc(var(--spacing) * 2)}.top-6{top:calc(var(--spacing) * 6)}.-right-4{right:calc(var(--spacing) * -4)}.right-0{right:calc(var(--spacing) * 0)}.right-1{right:calc(var(--spacing) * 1)}.right-2{right:calc(var(--spacing) * 2)}.right-5{right:calc(var(--spacing) * 5)}.-left-4{left:calc(var(--spacing) * -4)}.left-0{left:calc(var(--spacing) * 0)}.z-50{z-index:50}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-m-3{margin:calc(var(--spacing) * -3)}.-my-4{margin-block:calc(var(--spacing) * -4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-11{margin-top:calc(var(--spacing) * 11)}.mt-14{margin-top:calc(var(--spacing) * 14)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-4{margin-left:calc(var(--spacing) * 4)}.hero-arrow-left-solid{--hero-arrow-left-solid:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">  <path fill-rule=\"evenodd\" d=\"M11.03 3.97a.75.75 0 0 1 0 1.06l-6.22 6.22H21a.75.75 0 0 1 0 1.5H4.81l6.22 6.22a.75.75 0 1 1-1.06 1.06l-7.5-7.5a.75.75 0 0 1 0-1.06l7.5-7.5a.75.75 0 0 1 1.06 0Z\" clip-rule=\"evenodd\"/></svg>");-webkit-mask:var(--hero-arrow-left-solid);-webkit-mask:var(--hero-arrow-left-solid);-webkit-mask:var(--hero-arrow-left-solid);mask:var(--hero-arrow-left-solid);vertical-align:middle;background-color:currentColor;width:1.5rem;height:1.5rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-arrow-path{--hero-arrow-path:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 24 24\" stroke-width=\"1.5\" stroke=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">  <path stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.023 9.348h4.992v-.001M2.985 19.644v-4.992m0 0h4.992m-4.993 0 3.181 3.183a8.25 8.25 0 0 0 13.803-3.7M4.031 9.865a8.25 8.25 0 0 1 13.803-3.7l3.181 3.182m0-4.991v4.99\"/></svg>");-webkit-mask:var(--hero-arrow-path);-webkit-mask:var(--hero-arrow-path);-webkit-mask:var(--hero-arrow-path);mask:var(--hero-arrow-path);vertical-align:middle;background-color:currentColor;width:1.5rem;height:1.5rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-arrow-right-mini{--hero-arrow-right-mini:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">  <path fill-rule=\"evenodd\" d=\"M3 10a.75.75 0 0 1 .75-.75h10.638L10.23 5.29a.75.75 0 1 1 1.04-1.08l5.5 5.25a.75.75 0 0 1 0 1.08l-5.5 5.25a.75.75 0 1 1-1.04-1.08l4.158-3.96H3.75A.75.75 0 0 1 3 10Z\" clip-rule=\"evenodd\"/></svg>");-webkit-mask:var(--hero-arrow-right-mini);-webkit-mask:var(--hero-arrow-right-mini);-webkit-mask:var(--hero-arrow-right-mini);mask:var(--hero-arrow-right-mini);vertical-align:middle;background-color:currentColor;width:1.25rem;height:1.25rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-exclamation-circle-mini{--hero-exclamation-circle-mini:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">  <path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-8-5a.75.75 0 0 1 .75.75v4.5a.75.75 0 0 1-1.5 0v-4.5A.75.75 0 0 1 10 5Zm0 10a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z\" clip-rule=\"evenodd\"/></svg>");-webkit-mask:var(--hero-exclamation-circle-mini);-webkit-mask:var(--hero-exclamation-circle-mini);-webkit-mask:var(--hero-exclamation-circle-mini);mask:var(--hero-exclamation-circle-mini);vertical-align:middle;background-color:currentColor;width:1.25rem;height:1.25rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-information-circle-mini{--hero-information-circle-mini:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">  <path fill-rule=\"evenodd\" d=\"M18 10a8 8 0 1 1-16 0 8 8 0 0 1 16 0Zm-7-4a1 1 0 1 1-2 0 1 1 0 0 1 2 0ZM9 9a.75.75 0 0 0 0 1.5h.253a.25.25 0 0 1 .244.304l-.459 2.066A1.75 1.75 0 0 0 10.747 15H11a.75.75 0 0 0 0-1.5h-.253a.25.25 0 0 1-.244-.304l.459-2.066A1.75 1.75 0 0 0 9.253 9H9Z\" clip-rule=\"evenodd\"/></svg>");-webkit-mask:var(--hero-information-circle-mini);-webkit-mask:var(--hero-information-circle-mini);-webkit-mask:var(--hero-information-circle-mini);mask:var(--hero-information-circle-mini);vertical-align:middle;background-color:currentColor;width:1.25rem;height:1.25rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-key-mini{--hero-key-mini:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">  <path fill-rule=\"evenodd\" d=\"M8 7a5 5 0 1 1 3.61 4.804l-1.903 1.903A1 1 0 0 1 9 14H8v1a1 1 0 0 1-1 1H6v1a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1v-2a1 1 0 0 1 .293-.707L8.196 8.39A5.002 5.002 0 0 1 8 7Zm5-3a.75.75 0 0 0 0 1.5A1.5 1.5 0 0 1 14.5 7 .75.75 0 0 0 16 7a3 3 0 0 0-3-3Z\" clip-rule=\"evenodd\"/></svg>");-webkit-mask:var(--hero-key-mini);-webkit-mask:var(--hero-key-mini);-webkit-mask:var(--hero-key-mini);mask:var(--hero-key-mini);vertical-align:middle;background-color:currentColor;width:1.25rem;height:1.25rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-magnifying-glass-mini{--hero-magnifying-glass-mini:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">  <path fill-rule=\"evenodd\" d=\"M9 3.5a5.5 5.5 0 1 0 0 11 5.5 5.5 0 0 0 0-11ZM2 9a7 7 0 1 1 12.452 4.391l3.328 3.329a.75.75 0 1 1-1.06 1.06l-3.329-3.328A7 7 0 0 1 2 9Z\" clip-rule=\"evenodd\"/></svg>");-webkit-mask:var(--hero-magnifying-glass-mini);-webkit-mask:var(--hero-magnifying-glass-mini);-webkit-mask:var(--hero-magnifying-glass-mini);mask:var(--hero-magnifying-glass-mini);vertical-align:middle;background-color:currentColor;width:1.25rem;height:1.25rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-pencil-square-mini{--hero-pencil-square-mini:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">  <path d=\"m5.433 13.917 1.262-3.155A4 4 0 0 1 7.58 9.42l6.92-6.918a2.121 2.121 0 0 1 3 3l-6.92 6.918c-.383.383-.84.685-1.343.886l-3.154 1.262a.5.5 0 0 1-.65-.65Z\"/>  <path d=\"M3.5 5.75c0-.69.56-1.25 1.25-1.25H10A.75.75 0 0 0 10 3H4.75A2.75 2.75 0 0 0 2 5.75v9.5A2.75 2.75 0 0 0 4.75 18h9.5A2.75 2.75 0 0 0 17 15.25V10a.75.75 0 0 0-1.5 0v5.25c0 .69-.56 1.25-1.25 1.25h-9.5c-.69 0-1.25-.56-1.25-1.25v-9.5Z\"/></svg>");-webkit-mask:var(--hero-pencil-square-mini);-webkit-mask:var(--hero-pencil-square-mini);-webkit-mask:var(--hero-pencil-square-mini);mask:var(--hero-pencil-square-mini);vertical-align:middle;background-color:currentColor;width:1.25rem;height:1.25rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-plus-mini{--hero-plus-mini:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 20 20\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">  <path d=\"M10.75 4.75a.75.75 0 0 0-1.5 0v4.5h-4.5a.75.75 0 0 0 0 1.5h4.5v4.5a.75.75 0 0 0 1.5 0v-4.5h4.5a.75.75 0 0 0 0-1.5h-4.5v-4.5Z\"/></svg>");-webkit-mask:var(--hero-plus-mini);-webkit-mask:var(--hero-plus-mini);-webkit-mask:var(--hero-plus-mini);mask:var(--hero-plus-mini);vertical-align:middle;background-color:currentColor;width:1.25rem;height:1.25rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.hero-x-mark-solid{--hero-x-mark-solid:url("data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"currentColor\" aria-hidden=\"true\" data-slot=\"icon\">  <path fill-rule=\"evenodd\" d=\"M5.47 5.47a.75.75 0 0 1 1.06 0L12 10.94l5.47-5.47a.75.75 0 1 1 1.06 1.06L13.06 12l5.47 5.47a.75.75 0 1 1-1.06 1.06L12 13.06l-5.47 5.47a.75.75 0 0 1-1.06-1.06L10.94 12 5.47 6.53a.75.75 0 0 1 0-1.06Z\" clip-rule=\"evenodd\"/></svg>");-webkit-mask:var(--hero-x-mark-solid);-webkit-mask:var(--hero-x-mark-solid);-webkit-mask:var(--hero-x-mark-solid);mask:var(--hero-x-mark-solid);vertical-align:middle;background-color:currentColor;width:1.5rem;height:1.5rem;display:inline-block;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.max-h-96{max-height:calc(var(--spacing) * 96)}.min-h-full{min-height:100%}.w-1\/4{width:25%}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-14{width:calc(var(--spacing) * 14)}.w-80{width:calc(var(--spacing) * 80)}.w-\[40rem\]{width:40rem}.w-full{width:100%}.max-w-3xl{max-width:var(--container-3xl)}.min-w-64{min-width:calc(var(--spacing) * 64)}.flex-1{flex:1}.flex-none{flex:none}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-4{--tw-translate-y:calc(var(--spacing) * 4);translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-8>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 8) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 8) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-1{row-gap:calc(var(--spacing) * 1)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-zinc-100>:not(:last-child)){border-color:var(--color-zinc-100)}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-amber-200{border-color:var(--color-amber-200)}.border-zinc-100{border-color:var(--color-zinc-100)}.border-zinc-200{border-color:var(--color-zinc-200)}.border-zinc-300{border-color:var(--color-zinc-300)}.bg-amber-50{background-color:var(--color-amber-50)}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-rose-50{background-color:var(--color-rose-50)}.bg-white{background-color:var(--color-white)}.bg-zinc-50{background-color:var(--color-zinc-50)}.bg-zinc-50\/90{background-color:#fafafae6}@supports (color:color-mix(in lab, red, red)){.bg-zinc-50\/90{background-color:color-mix(in oklab, var(--color-zinc-50) 90%, transparent)}}.bg-zinc-950{background-color:var(--color-zinc-950)}.fill-cyan-900{fill:var(--color-cyan-900)}.fill-rose-900{fill:var(--color-rose-900)}.p-0{padding:calc(var(--spacing) * 0)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-14{padding:calc(var(--spacing) * 14)}.px-1{padding-inline:calc(var(--spacing) * 1)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-4{padding-block:calc(var(--spacing) * 4)}.pr-6{padding-right:calc(var(--spacing) * 6)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.text-left{text-align:left}.text-right{text-align:right}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-5{--tw-leading:calc(var(--spacing) * 5);line-height:calc(var(--spacing) * 5)}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.whitespace-nowrap{white-space:nowrap}.text-amber-900{color:var(--color-amber-900)}.text-amber-950{color:var(--color-amber-950)}.text-emerald-800{color:var(--color-emerald-800)}.text-rose-600{color:var(--color-rose-600)}.text-rose-900{color:var(--color-rose-900)}.text-zinc-50{color:var(--color-zinc-50)}.text-zinc-500{color:var(--color-zinc-500)}.text-zinc-600{color:var(--color-zinc-600)}.text-zinc-700{color:var(--color-zinc-700)}.text-zinc-800{color:var(--color-zinc-800)}.text-zinc-900{color:var(--color-zinc-900)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-100{opacity:1}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-zinc-700\/10{--tw-shadow-color:#3f3f461a}@supports (color:color-mix(in lab, red, red)){.shadow-zinc-700\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-zinc-700) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-emerald-500{--tw-ring-color:var(--color-emerald-500)}.ring-rose-500{--tw-ring-color:var(--color-rose-500)}.ring-zinc-700\/10{--tw-ring-color:#3f3f461a}@supports (color:color-mix(in lab, red, red)){.ring-zinc-700\/10{--tw-ring-color:color-mix(in oklab, var(--color-zinc-700) 10%, transparent)}}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in{--tw-ease:var(--ease-in);transition-timing-function:var(--ease-in)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[scrollbar-gutter\:stable\]{scrollbar-gutter:stable}@media (hover:hover){.group-hover\:bg-zinc-50:is(:where(.group):hover *){background-color:var(--color-zinc-50)}.group-hover\:opacity-70:is(:where(.group):hover *){opacity:.7}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-zinc-300:hover{border-color:var(--color-zinc-300)}.hover\:bg-zinc-50:hover{background-color:var(--color-zinc-50)}.hover\:text-zinc-700:hover{color:var(--color-zinc-700)}.hover\:opacity-40:hover{opacity:.4}}.focus\:ring-0:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.active\:text-white\/80:active{color:#fffc}@supports (color:color-mix(in lab, red, red)){.active\:text-white\/80:active{color:color-mix(in oklab, var(--color-white) 80%, transparent)}}@media (min-width:40rem){.sm\:w-96{width:calc(var(--spacing) * 96)}.sm\:w-full{width:100%}.sm\:translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.sm\:scale-95{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.sm\:scale-100{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x) var(--tw-scale-y)}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-8{gap:calc(var(--spacing) * 8)}.sm\:overflow-visible{overflow:visible}.sm\:rounded-l-xl{border-top-left-radius:var(--radius-xl);border-bottom-left-radius:var(--radius-xl)}.sm\:rounded-r-xl{border-top-right-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-0{padding-inline:calc(var(--spacing) * 0)}}@media (min-width:48rem){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:64rem){.lg\:py-8{padding-block:calc(var(--spacing) * 8)}}.phx-no-feedback.phx-no-feedback\:hidden,.phx-no-feedback .phx-no-feedback\:hidden{display:none}.phx-submit-loading.phx-submit-loading\:opacity-75,.phx-submit-loading .phx-submit-loading\:opacity-75{opacity:.75}}:root{--gh-bg:#f6f8fa;--gh-panel:#fff;--gh-border:#d0d7de;--gh-text:#1f2328;--gh-muted:#656d76;--gh-link:#0969da;--gh-header-bg:#0f172af2;--gh-header-border:#94a3b838;--gh-header-text:#f8fafc;--gh-header-muted:#cbd5e1;--gh-header-active:#ffffff1f;--gh-header-active-border:#ffffff38;--gh-btn:#f6f8fa;--gh-btn-border:#1f232826;--gh-btn-primary:#2da44e;--gh-btn-primary-text:#fff;--app-content-max:1760px}*{box-sizing:border-box}html,body{min-height:100%}body{min-height:100vh;color:var(--gh-text);background:radial-gradient(circle at 0 0,#fff 0%,#f6f8fa 35%,#eef2f7 100%);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Noto Sans,Helvetica,Arial,sans-serif}a{color:var(--gh-link);text-decoration:none}a:hover{text-decoration:underline}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-header{z-index:10;background:linear-gradient(180deg, var(--gh-header-bg) 0%, #0f172ae6 100%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--gh-header-border);position:sticky;top:0}.header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:6px 14px;display:flex}.brand-nav,.top-nav,.header-tools{flex-wrap:wrap;align-items:center;display:flex}.brand-nav{gap:10px;min-width:0}.logo{background:linear-gradient(#111827 0%,#0f172a 100%);border-radius:10px;flex:none;align-items:center;padding:8px 10px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff14}.logo:hover{text-decoration:none}.logo img{width:124px;height:auto;display:block}.top-nav{gap:6px}.nav-link{color:var(--gh-header-muted);border:1px solid #0000;border-radius:8px;align-items:center;padding:7px 9px;font-size:12px;font-weight:600;display:inline-flex}.nav-link:hover,.nav-link.active{color:var(--gh-header-text);background:var(--gh-header-active);border-color:var(--gh-header-active-border);text-decoration:none}.header-tools{border-left:1px solid var(--gh-header-border);justify-content:flex-end;gap:8px;margin-left:auto;padding-left:10px}.admin-pill{color:#d0d7de;font-size:12px;font-weight:700}.logout-form{margin:0}.header-tools .btn{width:auto;color:var(--gh-header-text);border-color:var(--gh-header-border);background:#ffffff0f;margin-top:0;padding:6px 9px;font-size:11px}.app-main{flex:1;width:100%;padding:12px 16px 20px}.login-main{background:linear-gradient(#ffffffb8,#f8fbfff0),radial-gradient(circle at 50% 36%,#d4e0efbd,#f0f5fb00 46%),#f4f8fc;flex:1;width:100%;min-height:100vh;padding:26px 16px 42px}.content-wrap{width:100%;max-width:var(--app-content-max);margin:0 auto}.login-main .content-wrap{max-width:690px}.login-topbar{justify-content:flex-start;align-items:center;gap:18px;margin:0 auto 16px;display:flex}.login-logo{background:#111827;border-radius:14px;align-items:center;padding:6px 14px;display:inline-flex;box-shadow:inset 0 0 0 1px #ffffff14}.login-logo img{width:132px;max-width:100%;height:auto;display:block}.title{letter-spacing:0;margin:0 0 12px;font-size:24px;font-weight:700}.section-title{margin:0 0 10px;font-size:13px;font-weight:700}.subtitle{color:var(--gh-muted);margin:0 0 14px;font-size:13px}.auth-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:start;gap:14px;display:grid}.auth-grid-single{max-width:560px}.login-panel{background:#fffffff0;border:1px solid #ccd8e6;border-radius:19px;width:100%;padding:26px;box-shadow:0 24px 56px #47586f29,inset 0 1px #ffffffe0}.login-panel-narrow{max-width:416px;margin:0 auto}.login-copy{margin-bottom:19px}.login-eyebrow{color:#687891;letter-spacing:0;margin:0 0 10px;font-size:12px;font-weight:900}.login-title{color:#070d1a;letter-spacing:0;margin:0;font-size:26px;font-weight:900;line-height:1.15}.login-subcopy{color:#40506b;margin:10px 0 0;font-size:13px;font-weight:700;line-height:1.45}.card{background:var(--gh-panel);border:1px solid var(--gh-border);border-radius:8px;padding:14px;box-shadow:0 1px 2px #1f23280a}.login-main .auth-card{border-color:#d8e2ee;border-radius:14px;min-height:0;padding:19px;box-shadow:0 11px 26px #47586f12,inset 0 1px #ffffffeb}.login-main .section-title{color:#687891;letter-spacing:0;margin:0 0 14px;font-size:12px;font-weight:800}.login-main .form-label,.login-main .card label{color:#40506b;margin:11px 0 6px;font-size:12px;font-weight:800}.login-main .form-control,.login-main .card input{color:#162033;border-color:#c8d6e6;border-radius:10px;min-height:37px;padding:8px 10px;font-size:13px;box-shadow:0 4px 8px #50637a0f,inset 0 1px #ffffffe6}.login-main .form-control:focus,.login-main .card input:focus{border-color:#99b7d8;box-shadow:0 0 0 4px #2089ce1f,0 9px 18px #50637a1a}.auth-card{padding:16px}.login-main .card form{margin:0}.card label{margin:8px 0 6px;font-size:12px;font-weight:700;line-height:1.2;display:block}.card input{border:1px solid var(--gh-border);width:100%;color:var(--gh-text);background:#fff;border-radius:6px;min-height:38px;margin:0;padding:8px 10px;font-size:14px;line-height:1.35;transition:border-color .12s,box-shadow .12s,background-color .12s;box-shadow:inset 0 1px #1f232805}.card input::placeholder{color:#8c959f}.card input:focus{border-color:#0969da;outline:none;box-shadow:0 0 0 3px #0969da24,inset 0 1px #1f232805}.password-field{align-items:center;display:flex;position:relative}.password-field input,.login-main .password-field input{padding-right:64px}.password-toggle{border:1px solid var(--gh-btn-border);min-height:26px;color:var(--gh-muted);cursor:pointer;background:#f6f8fa;border-radius:6px;padding:3px 8px;font-size:12px;font-weight:700;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{color:var(--gh-text);background:#fff}.login-main .password-toggle{color:#52627a;background:#f7fafe;border-color:#d8e2ee;border-radius:8px;min-height:24px;padding:3px 7px;font-size:11px;right:7px}.sent-panel{border-top:1px solid var(--gh-border);max-width:560px;margin-top:18px;padding-top:16px}.next-steps{color:var(--gh-text);margin:8px 0 0;padding-left:20px;font-size:14px;line-height:1.7}.helper-note{color:var(--gh-muted);margin:14px 0 0;font-size:13px;line-height:1.6}.auth-actions{margin-top:16px}.login-main .auth-actions{margin-top:14px}.auth-note{color:#40506b;background:#fbfdff;border:1px solid #dde6f0;border-radius:10px;margin:14px 0 0;padding:11px;font-size:12px;font-weight:700;line-height:1.55}.btn{border:1px solid var(--gh-btn-border);background:var(--gh-btn);width:100%;color:var(--gh-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:12px;padding:7px 11px;font-size:13px;font-weight:600;display:inline-flex}.btn.inline,.btn.btn-inline,.btn.btn-toolbar,.btn.btn-action{width:auto;display:inline-flex}.btn-primary{background:var(--gh-btn-primary);color:var(--gh-btn-primary-text)}.login-main .btn{color:#25344d;background:#fff;border-color:#c8d6e6;border-radius:10px;min-height:37px;padding:8px 13px;font-size:13px;font-weight:900;box-shadow:0 6px 14px #47586f12}.login-main .btn:hover{background:#fbfdff;border-color:#9eb9d6;text-decoration:none}.login-main .btn-primary{color:#fff;background:#0d8dd3;border-color:#0c8bd4;box-shadow:0 13px 22px #0d8dd32e}.login-main .btn-primary:hover{background:#087fc4;border-color:#0879bd}.login-main .btn.btn-inline{color:#40506b;width:100%;min-height:27px;box-shadow:none;background:0 0;border:0;font-size:12px}.action-button{border:1px solid var(--gh-btn-border);min-height:34px;color:var(--gh-text);background:linear-gradient(#fff 0%,#f6f8fa 100%);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:7px 11px;font-size:13px;font-weight:600;line-height:1;transition:background-color .12s,border-color .12s,box-shadow .12s,transform .12s;display:inline-flex;box-shadow:0 1px 1px #1f23280a}.action-button:hover{background:#fff;border-color:#afb8c1;text-decoration:none;transform:translateY(-1px);box-shadow:0 2px 6px #1f232814}.action-button:active{transform:translateY(0);box-shadow:0 1px 1px #1f23280a}.action-button-primary{background:linear-gradient(180deg, #35b85a 0%, var(--gh-btn-primary) 100%);color:var(--gh-btn-primary-text);border-color:#2da44ea6;box-shadow:0 1px 2px #2da44e2e}.action-button-primary:hover{color:var(--gh-btn-primary-text);background:linear-gradient(#31ad55 0%,#238636 100%);border-color:#238636;box-shadow:0 3px 8px #2da44e3d}.action-button-secondary{color:#24292f}.action-button .hero-plus-mini,.action-button .hero-pencil-square-mini,.action-button .hero-arrow-right-mini,.action-button .hero-building-office-2-mini,.action-button .hero-server-stack-mini,.action-button .hero-magnifying-glass-mini,.action-button .hero-arrow-path-mini,.action-button .hero-key-mini{flex:none;width:16px;height:16px}.forecast-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:22px;display:grid}.forecast-list-panel{border:1px solid var(--gh-border);background:var(--gh-panel);border-radius:8px;margin-top:22px;padding:16px;box-shadow:0 1px 2px #1f23280a}.forecast-list-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:14px;display:flex}.forecast-list-heading h2{color:var(--gh-text);margin:0;font-size:17px;line-height:1.25}.forecast-list-heading p{color:var(--gh-muted);margin:4px 0 0;font-size:13px}.forecast-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;display:flex}.forecast-toolbar label{color:var(--gh-muted);gap:5px;font-size:12px;font-weight:700;display:grid}.forecast-toolbar input,.forecast-toolbar select{border:1px solid var(--gh-border);min-height:36px;color:var(--gh-text);background:#fff;border-radius:8px;padding:7px 10px;font-size:14px}.forecast-toolbar input{width:240px}.forecast-toolbar button{border:1px solid var(--gh-btn-border);background:var(--gh-btn);min-height:36px;color:var(--gh-text);cursor:pointer;border-radius:8px;padding:7px 11px;font-size:13px;font-weight:700}.forecast-table-wrap{width:100%;overflow-x:auto}.forecast-table{min-width:920px}.forecast-table td{vertical-align:middle}.forecast-city-link{color:var(--gh-text);font-weight:800;display:block}.forecast-table td small{color:var(--gh-muted);margin-top:3px;font-size:12px;display:block}.forecast-condition{align-items:center;gap:8px;min-width:150px;display:inline-flex}.forecast-condition img{object-fit:contain;width:34px;height:34px}.forecast-table-action{text-align:right}.forecast-card,.forecast-hero,.forecast-section,.raw-weather,.empty-state{border:1px solid var(--gh-border);background:var(--gh-panel);border-radius:8px;box-shadow:0 1px 2px #1f23280a}.forecast-card{gap:14px;padding:16px;display:grid}.forecast-card-main,.forecast-card-footer,.forecast-hero-current,.forecast-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.forecast-card h2,.forecast-hero h2,.forecast-section h2,.empty-state h2{color:var(--gh-text);margin:0;font-size:18px;line-height:1.25}.forecast-eyebrow{color:#0969da;margin:0 0 4px;font-size:12px;font-weight:700;line-height:1.35}.forecast-description{color:var(--gh-muted);margin:6px 0 0;font-size:13px}.forecast-card-icon{object-fit:contain;flex:none;width:58px;height:58px}.forecast-card-temp{align-items:baseline;gap:10px;display:flex}.forecast-card-temp span{color:var(--gh-text);font-size:30px;font-weight:800;line-height:1}.forecast-card-temp small,.forecast-card-footer,.forecast-section-heading p,.empty-state p{color:var(--gh-muted);font-size:12px}.forecast-mini-metrics,.forecast-metric-grid,.daily-card dl{gap:10px;margin:0;display:grid}.forecast-mini-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.forecast-mini-metrics div,.forecast-metric-grid div,.daily-card dl div{min-width:0}.forecast-mini-metrics dt,.forecast-metric-grid dt,.daily-card dt{color:var(--gh-muted);text-transform:uppercase;font-size:11px;font-weight:700}.forecast-mini-metrics dd,.forecast-metric-grid dd,.daily-card dd{color:var(--gh-text);margin:3px 0 0;font-size:14px;font-weight:700}.forecast-hero{background:linear-gradient(135deg, #f0fdfadb, #eff6ffd6), var(--gh-panel);margin-top:18px;padding:16px}.forecast-hero-current{align-items:flex-start}.forecast-hero-current p{color:var(--gh-muted);margin:6px 0 0;font-size:13px}.forecast-hero-temp{text-align:right;align-items:center;gap:10px;display:flex}.forecast-hero-icon{object-fit:contain;width:72px;height:72px}.forecast-hero-temp strong{color:#0f172a;font-size:40px;font-weight:850;line-height:1;display:block}.forecast-hero-temp span{color:var(--gh-muted);margin-top:6px;font-size:13px;font-weight:700;display:block}.forecast-metric-grid{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));margin-top:14px}.forecast-metric-grid div{background:#ffffffb8;border:1px solid #1f232814;border-radius:8px;padding:10px}.forecast-metric-grid small{color:var(--gh-muted);margin-top:2px;font-size:12px;display:block}.forecast-section,.raw-weather,.empty-state{margin-top:14px;padding:16px}.forecast-section-heading{margin-bottom:14px}.forecast-section-heading p{margin:0;font-weight:700}.daily-forecast-grid{grid-auto-columns:minmax(172px,1fr);grid-auto-flow:column;gap:10px;padding-bottom:4px;display:grid;overflow-x:auto}.daily-card{background:#fff;border:1px solid #1f23281a;border-radius:8px;min-height:172px;padding:10px}.daily-card>p:first-child{color:var(--gh-muted);margin:0;font-size:12px;font-weight:700}.daily-card img{object-fit:contain;width:46px;height:46px;margin:6px 0 1px;display:block}.daily-card h3{color:var(--gh-text);margin:0;font-size:16px;line-height:1.25}.daily-card>p:not(:first-child){min-height:34px;color:var(--gh-muted);margin:5px 0 10px;font-size:12px;line-height:1.35}.daily-card dl{grid-template-columns:1fr;gap:5px}.daily-card dl div{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.daily-card dt{font-size:10px}.daily-card dd{text-align:right;white-space:nowrap;margin:0;font-size:12px}.hourly-forecast-strip{grid-auto-columns:112px;grid-auto-flow:column;gap:10px;padding-bottom:6px;display:grid;overflow-x:auto}.hourly-card{text-align:center;background:#fff;border:1px solid #1f23281a;border-radius:8px;align-content:start;justify-items:center;gap:5px;min-height:150px;padding:10px;display:grid}.hourly-card time{color:var(--gh-muted);font-size:12px;font-weight:700}.hourly-card img{object-fit:contain;width:48px;height:48px}.hourly-card strong{color:var(--gh-text);font-size:17px}.hourly-card span{color:#0969da;font-size:12px;font-weight:700}.hourly-card small{color:var(--gh-muted);font-size:11px}.raw-weather summary{cursor:pointer;color:var(--gh-text);font-size:13px;font-weight:700}.raw-weather pre{color:#e2e8f0;background:#0f172a;border-radius:8px;max-height:420px;margin:12px 0 0;padding:12px;font-size:12px;line-height:1.55;overflow:auto}.empty-state{text-align:center}.city-search-panel,.city-manual-panel{border:1px solid var(--gh-border);background:var(--gh-panel);border-radius:8px;margin-top:22px;padding:16px;box-shadow:0 1px 2px #1f23280a}.city-search-panel h2{color:var(--gh-text);margin:0;font-size:17px;font-weight:700}.city-search-panel p{color:var(--gh-muted);margin:6px 0 0;font-size:13px}.city-search-panel code{color:var(--gh-text);background:#f6f8fa;border:1px solid #1f23281f;border-radius:6px;padding:1px 5px;font-size:12px}.city-search-form{grid-template-columns:1fr auto;align-items:end;gap:10px;margin-top:14px;display:grid}.city-search-form label{color:var(--gh-muted);grid-column:1/-1;font-size:12px;font-weight:700}.city-search-form input{border:1px solid var(--gh-border);min-height:38px;color:var(--gh-text);background:#fff;border-radius:8px;padding:8px 10px;font-size:14px}.city-search-results td strong{color:var(--gh-text)}.city-search-results tr.selected td{background:#f0f7ff}.city-search-layout{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:start;gap:14px;margin-top:16px;display:grid}.city-candidate-map-panel{border:1px solid var(--gh-border);background:var(--gh-panel);border-radius:8px;padding:14px;box-shadow:0 1px 2px #1f23280a}.city-preview-actions{justify-content:flex-end;margin-top:12px;display:flex}.city-map-panel{border:1px solid var(--gh-border);background:var(--gh-panel);border-radius:8px;margin-top:22px;padding:16px;box-shadow:0 1px 2px #1f23280a}.city-map-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.city-map-heading h2{color:var(--gh-text);margin:0;font-size:17px;font-weight:700}.city-map-heading p{color:var(--gh-muted);margin:5px 0 0;font-size:13px}.city-map-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.city-map-frame{background:#f6f8fa;border:1px solid #1f23281a;border-radius:8px;width:100%;height:360px;display:block}.city-manual-panel{padding:0}.city-manual-panel summary{cursor:pointer;color:var(--gh-text);padding:16px;font-size:15px;font-weight:700}.city-manual-panel form{border:0;border-top:1px solid var(--gh-border);box-shadow:none;border-radius:0;margin:0}@media (max-width:640px){.city-search-form,.city-search-layout{grid-template-columns:1fr}.city-map-heading{flex-direction:column}.city-map-actions{justify-content:flex-start;width:100%}.city-map-frame{height:280px}.forecast-list-heading{flex-direction:column;align-items:stretch}.forecast-toolbar{justify-content:flex-start}.forecast-toolbar label,.forecast-toolbar input,.forecast-toolbar select{width:100%}.forecast-card-main,.forecast-card-footer,.forecast-hero-current,.forecast-section-heading{flex-direction:column;align-items:flex-start}.forecast-hero-temp{text-align:left;justify-content:space-between;width:100%}.forecast-hero-temp strong{font-size:36px}.forecast-mini-metrics{grid-template-columns:1fr}}.resource-form{background:var(--gh-panel);border:1px solid var(--gh-border);border-radius:12px;gap:16px;max-width:640px;margin-top:22px;padding:18px;display:grid;box-shadow:0 1px 2px #1f23280a}.resource-form-actions{align-items:center;gap:10px;padding-top:4px;display:flex}.form-label{color:var(--gh-text);margin-bottom:6px;font-size:13px;font-weight:700;line-height:1.4;display:block}.form-control{border:1px solid var(--gh-border);width:100%;min-height:38px;color:var(--gh-text);font:inherit;background:#fff;border-radius:8px;padding:8px 10px;font-size:14px;line-height:1.4;display:block;box-shadow:inset 0 1px #1f232805}.form-control:focus{outline-offset:0;border-color:#54aeef;outline:2px solid #54aeef38}.form-control-error{border-color:#f87171}.form-textarea{resize:vertical;min-height:96px}.form-checkbox-label{color:var(--gh-muted);align-items:center;gap:10px;font-size:14px;font-weight:600;line-height:1.4;display:inline-flex}.form-checkbox{border:1px solid var(--gh-border);width:16px;height:16px;accent-color:var(--gh-btn-primary);border-radius:4px;flex:none}.notice,.alert,.alert-info{color:#1e3a8a;background:#eef2ff;border:1px solid #c7d2fe;border-radius:12px;margin-bottom:16px;padding:10px 12px;font-size:12px}.error,.alert-danger,.invalid-feedback{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:16px;padding:10px 12px;font-size:12px}.alert:empty{display:none}.site-footer{border-top:1px solid var(--gh-border);width:100%;color:var(--gh-muted);background:#ffffffe6;margin-top:auto;font-size:11px}.site-footer-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 24px;display:flex}.ops-page-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ops-page-header h1{color:var(--gh-text);margin:0 0 8px;font-size:24px;line-height:1.2}.ops-page-header p{color:var(--gh-muted)}.ops-eyebrow{color:var(--gh-muted);letter-spacing:0;text-transform:none;margin:0 0 6px;font-size:12px;font-weight:700}.ops-actions{flex-wrap:wrap;gap:10px;display:flex}.ops-sync-form{margin:0}.ops-sync-toolbar{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.ops-sync-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:12px;display:flex}.ops-check-cell{text-align:center;width:54px}.ops-row-checkbox{width:16px;height:16px;accent-color:var(--gh-btn-primary)}.ops-grid{gap:14px;display:grid}.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}.ops-card{background:var(--gh-panel);border:1px solid var(--gh-border);color:inherit;border-radius:14px;padding:14px;text-decoration:none;display:block;box-shadow:0 1px 2px #1f23280a}.ops-card:hover{border-color:#afb8c1;text-decoration:none}.ops-card h2{color:var(--gh-text);margin:0 0 8px;font-size:16px}table{border-collapse:collapse;background:#fff;width:100%;font-size:14px}thead{border-bottom:1px solid var(--gh-border)}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #edf2f7;padding:10px 12px}th{color:var(--gh-muted);letter-spacing:0;text-transform:none;font-size:12px;font-weight:700}fieldset{min-width:0}legend{color:var(--gh-text);font-weight:700}.phx-no-feedback.invalid-feedback,.phx-no-feedback .invalid-feedback{display:none}.phx-click-loading,.phx-submit-loading{opacity:.5}.phx-loading{cursor:wait}body.admin-dialog-open{overflow:hidden}.admin-dialog{z-index:80;display:none;position:fixed;inset:0}.admin-dialog.is-open{display:block}.admin-dialog-backdrop{background:#0f172a6b;position:absolute;inset:0}.admin-dialog-panel{border:1px solid var(--gh-border);background:var(--gh-panel);border-radius:8px;width:min(760px,100vw - 32px);max-height:calc(100vh - 48px);position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 24px 80px #0f172a47}.admin-dialog-panel[data-dialog-size=wide]{width:min(1220px,100vw - 32px)}.admin-dialog-close{float:right;z-index:1;border:1px solid var(--gh-border);width:36px;height:36px;color:var(--gh-muted);cursor:pointer;background:#fff;border-radius:8px;margin:14px 14px 0 0;font-size:22px;line-height:1;position:sticky;top:14px}.admin-dialog-close:hover{color:var(--gh-text)}.admin-dialog-body{clear:both;padding:24px}.admin-dialog-body>.header:first-child,.admin-dialog-body h1:first-child{margin-top:0}.dialog-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-top:18px;display:flex}.dialog-cancel-link{min-height:38px;color:var(--gh-muted);align-items:center;font-size:14px;font-weight:700;display:inline-flex}.dialog-cancel-link:hover{color:var(--gh-text);text-decoration:none}.operations-page{gap:14px;display:grid}.ops-range-nav{border:1px solid var(--gh-border);background:#fff;border-radius:8px;gap:4px;width:fit-content;padding:3px;display:inline-flex}.ops-range-link{color:var(--gh-muted);border-radius:6px;padding:6px 10px;font-size:12px;font-weight:700}.ops-range-link:hover,.ops-range-link.active{color:var(--gh-text);background:#f6f8fa;text-decoration:none}.ops-summary-grid{grid-template-columns:minmax(320px,1.25fr) repeat(2,minmax(260px,1fr));gap:14px;display:grid}.ops-summary-grid-compact{grid-template-columns:repeat(4,minmax(220px,1fr))}.ops-panel{background:var(--gh-panel);border:1px solid var(--gh-border);border-radius:8px;padding:16px;box-shadow:0 1px 2px #1f23280a}.ops-panel-primary{background:linear-gradient(135deg, #f0fdfad1, #ffffffe6), var(--gh-panel)}.ops-panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:12px;display:flex}.operations-page h2,.operations-page h3{color:var(--gh-text);margin:0;font-size:17px;font-weight:700;line-height:1.25}.operations-page h3{margin-top:16px;font-size:14px}.operations-page p,.operations-page li{color:var(--gh-muted);font-size:13px;line-height:1.55}.operations-page p{margin:0}.ops-muted{color:var(--gh-muted);font-size:12px}.ops-status-pill{white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:24px;padding:3px 9px;font-size:11px;font-weight:800;line-height:1;display:inline-flex}.status-ok{color:#166534;background:#dcfce7}.status-warn{color:#92400e;background:#fef3c7}.status-critical{color:#991b1b;background:#fee2e2}.status-neutral{color:#3730a3;background:#eef2ff}.ops-control-form,.ops-filter-form{flex-wrap:wrap;align-items:end;gap:10px;margin-top:14px;display:flex}.ops-field{gap:5px;min-width:160px;display:grid}.ops-field input,.ops-field select{width:100%}.operations-page label{color:var(--gh-muted);font-size:12px;font-weight:700;display:block}.operations-page input[type=text],.operations-page input[type=number],.operations-page select{border:1px solid var(--gh-border);min-height:36px;color:var(--gh-text);background:#fff;border-radius:8px;padding:7px 10px;font-size:14px}.operations-page button{border:1px solid var(--gh-btn-border);background:var(--gh-btn);color:var(--gh-text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:7px 11px;font-size:13px;font-weight:700;display:inline-flex}.operations-page button:disabled{cursor:not-allowed;opacity:.58}.operations-page .button-primary{border-color:var(--gh-btn-primary);background:var(--gh-btn-primary);color:var(--gh-btn-primary-text)}.operations-page .button-muted{color:var(--gh-muted);background:#fff}.ops-metric-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:14px 0;display:grid}.ops-metric-row div{background:#f6f8faad;border:1px solid #1f232814;border-radius:8px;min-width:0;padding:10px}.ops-metric-row strong{color:var(--gh-text);font-size:20px;font-weight:800;line-height:1;display:block}.ops-metric-row span{color:var(--gh-muted);margin-top:6px;font-size:11px;font-weight:700;line-height:1.25;display:block}.ops-signal-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ops-signal-list{gap:8px;margin:0;display:grid}.ops-signal-list div{border-bottom:1px solid #1f232814;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:7px;display:flex}.ops-signal-list div:last-child{border-bottom:0;padding-bottom:0}.ops-signal-list dt{color:var(--gh-muted);font-size:12px;font-weight:700}.ops-signal-list dd{color:var(--gh-text);margin:0;font-size:16px;font-weight:800}.ops-signal{border-radius:8px;padding:12px}.ops-signal strong,.ops-signal span,.ops-signal em{display:block}.ops-signal strong{font-size:12px}.ops-signal span{margin-top:5px;font-size:12px;font-weight:700}.ops-signal em{margin-top:8px;font-size:22px;font-style:normal;font-weight:850;line-height:1}.ops-table-wrap{width:100%;overflow-x:auto}.ops-settings-table td:first-child{min-width:260px}.ops-settings-table td strong,.ops-settings-table td small{display:block}.ops-settings-table td strong{color:var(--gh-text);font-size:13px}.ops-settings-table td small{max-width:420px;color:var(--gh-muted);margin-top:4px;font-size:12px;line-height:1.4}.ops-setting-form{align-items:center;gap:8px;min-width:220px;display:flex}.ops-setting-form input,.ops-setting-form select{width:128px}.audit-details{max-width:720px;color:var(--gh-muted);white-space:normal;font-size:12px;line-height:1.45}.ops-empty{border:1px dashed var(--gh-border);background:#f6f8fa;border-radius:8px;padding:14px}.ops-details{padding:0}.ops-details summary{cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.ops-details summary strong,.ops-details summary small{display:block}.ops-details summary strong{color:var(--gh-text);font-size:15px}.ops-details summary small{color:var(--gh-muted);margin-top:3px;font-size:12px}.ops-details form,.ops-details .ops-table-wrap{margin:0 16px 16px}@media (max-width:900px){.header-inner{align-items:flex-start}.app-main{padding:10px 12px 16px}.header-tools{border-left:none;justify-content:space-between;width:100%;margin-left:0;padding-left:0}.top-nav{width:100%}.ops-page-header{flex-direction:column;align-items:stretch}.ops-summary-grid,.ops-signal-grid,.cards-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.login-main{padding:22px 12px 35px}.login-topbar{margin-bottom:18px}.login-logo{border-radius:14px;padding:6px 14px}.login-logo img{width:132px}.login-panel{border-radius:16px;padding:19px 14px}.login-title{font-size:24px}.login-subcopy{font-size:12px}.login-main .auth-card{min-height:0;padding:16px 14px}.login-main .form-control,.login-main .card input,.login-main .btn{min-height:35px;font-size:12px}}@media (max-width:640px){.auth-grid,.ops-summary-grid,.ops-signal-grid,.cards-4{grid-template-columns:1fr}.ops-panel-heading,.ops-details summary{flex-direction:column;align-items:flex-start}.ops-metric-row{grid-template-columns:1fr}.ops-field,.operations-page button{width:100%}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}