/*! tailwindcss v4.3.0 | 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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-pan-x:initial;--tw-pan-y:initial;--tw-pinch-zoom:initial;--tw-space-y-reverse:0;--tw-space-x-reverse:0;--tw-divide-x-reverse:0;--tw-border-style:solid;--tw-divide-y-reverse:0;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-amber-100:oklch(96.2% .059 95.617);--color-amber-400:oklch(82.8% .189 84.429);--color-amber-700:oklch(55.5% .163 48.998);--color-amber-900:oklch(41.4% .112 45.904);--color-green-50:oklch(98.2% .018 155.826);--color-green-200:oklch(92.5% .084 155.995);--color-green-600:oklch(62.7% .194 149.214);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-800:oklch(43.2% .095 166.913);--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--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);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--leading-relaxed:1.625;--radius-lg:var(--radius);--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"DM Sans", ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:var(--font-mono);--font-display:"Outfit", ui-sans-serif, system-ui, sans-serif;--color-border:var(--border)}}@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;-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}*{border-color:var(--border)}body{background-color:var(--background);color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}h1,h2,h3{font-family:var(--font-display)}}@layer components;@layer utilities{.\@container{container-type:inline-size}.collapse{visibility:collapse}.invisible{visibility:hidden}.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}.not-sr-only{clip-path:none;white-space:normal;width:auto;height:auto;margin:0;padding:0;position:static;overflow:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-start-1\.5{inset-inline-start:calc(var(--spacing) * -1.5)}.-start-\[1\.35rem\]{inset-inline-start:-1.35rem}.top-2{top:calc(var(--spacing) * 2)}.isolate{isolation:isolate}.isolation-auto{isolation:auto}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.ms-3{margin-inline-start:calc(var(--spacing) * 3)}.ms-4{margin-inline-start:calc(var(--spacing) * 4)}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.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)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.ml-1{margin-left:calc(var(--spacing) * 1)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.flex{display:flex}.flow-root{display:flow-root}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.inline-grid{display:inline-grid}.inline-table{display:inline-table}.list-item{display:list-item}.table{display:table}.table-caption{display:table-caption}.table-cell{display:table-cell}.table-column{display:table-column}.table-column-group{display:table-column-group}.table-footer-group{display:table-footer-group}.table-header-group{display:table-header-group}.table-row{display:table-row}.table-row-group{display:table-row-group}.size-3{width:calc(var(--spacing) * 3);height:calc(var(--spacing) * 3)}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-36{height:calc(var(--spacing) * 36)}.h-full{height:100%}.h-px{height:1px}.max-h-64{max-height:calc(var(--spacing) * 64)}.min-h-\[4rem\]{min-height:4rem}.min-h-\[8rem\]{min-height:8rem}.min-h-\[50vh\]{min-height:50vh}.min-h-\[80px\]{min-height:80px}.min-h-\[100px\]{min-height:100px}.min-h-dvh{min-height:100dvh}.w-10{width:calc(var(--spacing) * 10)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-44{width:calc(var(--spacing) * 44)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.min-w-\[12rem\]{min-width:12rem}.min-w-full{min-width:100%}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.translate-none{translate:none}.scale-3d{scale:var(--tw-scale-x) var(--tw-scale-y) var(--tw-scale-z)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.touch-pinch-zoom{--tw-pinch-zoom:pinch-zoom;touch-action:var(--tw-pan-x,) var(--tw-pan-y,) var(--tw-pinch-zoom,)}.resize{resize:both}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.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{gap:calc(var(--spacing) * 1)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-0>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 0) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 0) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-reverse>:not(:last-child)){--tw-space-y-reverse:1}:where(.space-x-reverse>:not(:last-child)){--tw-space-x-reverse:1}:where(.divide-x>:not(:last-child)){--tw-divide-x-reverse:0;border-inline-style:var(--tw-border-style);border-inline-start-width:calc(1px * var(--tw-divide-x-reverse));border-inline-end-width:calc(1px * calc(1 - var(--tw-divide-x-reverse)))}: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-y-reverse>:not(:last-child)){--tw-divide-y-reverse:1}:where(.divide-border>:not(:last-child)){border-color:var(--border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-s{border-start-start-radius:.25rem;border-end-start-radius:.25rem}.rounded-ss{border-start-start-radius:.25rem}.rounded-e{border-start-end-radius:.25rem;border-end-end-radius:.25rem}.rounded-se{border-start-end-radius:.25rem}.rounded-ee{border-end-end-radius:.25rem}.rounded-es{border-end-start-radius:.25rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-tl{border-top-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-tr{border-top-right-radius:.25rem}.rounded-b{border-bottom-right-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-br{border-bottom-right-radius:.25rem}.rounded-bl{border-bottom-left-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.border-x{border-inline-style:var(--tw-border-style);border-inline-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-s{border-inline-start-style:var(--tw-border-style);border-inline-start-width:1px}.border-e{border-inline-end-style:var(--tw-border-style);border-inline-end-width:1px}.border-bs{border-block-start-style:var(--tw-border-style);border-block-start-width:1px}.border-be{border-block-end-style:var(--tw-border-style);border-block-end-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-r{border-right-style:var(--tw-border-style);border-right-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-accent\/40{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-accent\/40{border-color:color-mix(in oklab, var(--accent) 40%, transparent)}}.border-amber-400{border-color:var(--color-amber-400)}.border-background{border-color:var(--background)}.border-border,.border-border\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\/50{border-color:color-mix(in oklab, var(--border) 50%, transparent)}}.border-green-200{border-color:var(--color-green-200)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-transparent{border-color:#0000}.bg-accent\/5{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-accent\/5{background-color:color-mix(in oklab, var(--accent) 5%, transparent)}}.bg-amber-100{background-color:var(--color-amber-100)}.bg-background{background-color:var(--background)}.bg-border{background-color:var(--border)}.bg-card{background-color:var(--card)}.bg-destructive{background-color:var(--destructive)}.bg-emerald-100{background-color:var(--color-emerald-100)}.bg-green-50\/50{background-color:#f0fdf480}@supports (color:color-mix(in lab, red, red)){.bg-green-50\/50{background-color:color-mix(in oklab, var(--color-green-50) 50%, transparent)}}.bg-muted\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/30{background-color:color-mix(in oklab, var(--muted) 30%, transparent)}}.bg-muted\/40{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/40{background-color:color-mix(in oklab, var(--muted) 40%, transparent)}}.bg-muted\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, var(--muted) 50%, transparent)}}.bg-primary,.bg-primary\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--primary) 10%, transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-repeat{background-repeat:repeat}.mask-no-clip{-webkit-mask-clip:no-clip;mask-clip:no-clip}.mask-repeat{-webkit-mask-repeat:repeat;mask-repeat:repeat}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pr-3{padding-right:calc(var(--spacing) * 3)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-24{padding-bottom:calc(var(--spacing) * 24)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-left{text-align:left}.font-display{font-family:Outfit,ui-sans-serif,system-ui,sans-serif}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.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-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.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)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-wrap{text-wrap:wrap}.text-clip{text-overflow:clip}.text-ellipsis{text-overflow:ellipsis}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-accent{color:var(--accent)}.text-amber-700{color:var(--color-amber-700)}.text-amber-900{color:var(--color-amber-900)}.text-card-foreground{color:var(--card-foreground)}.text-destructive{color:var(--destructive)}.text-emerald-800{color:var(--color-emerald-800)}.text-foreground{color:var(--foreground)}.text-green-600{color:var(--color-green-600)}.text-green-700{color:var(--color-green-700)}.text-green-800{color:var(--color-green-800)}.text-muted{color:var(--muted)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.capitalize{text-transform:capitalize}.lowercase{text-transform:lowercase}.normal-case{text-transform:none}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.diagonal-fractions{--tw-numeric-fraction:diagonal-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.lining-nums{--tw-numeric-figure:lining-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.oldstyle-nums{--tw-numeric-figure:oldstyle-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.proportional-nums{--tw-numeric-spacing:proportional-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.slashed-zero{--tw-slashed-zero:slashed-zero;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.stacked-fractions{--tw-numeric-fraction:stacked-fractions;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.normal-nums{font-variant-numeric:normal}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.overline{text-decoration-line:overline}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.subpixel-antialiased{-webkit-font-smoothing:auto;-moz-osx-font-smoothing:auto}.opacity-70{opacity:.7}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px 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)}.inset-ring{--tw-inset-ring-shadow:inset 0 0 0 1px var(--tw-inset-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)}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.drop-shadow{--tw-drop-shadow-size:drop-shadow(0 1px 2px var(--tw-drop-shadow-color,#0000001a)) drop-shadow(0 1px 1px var(--tw-drop-shadow-color,#0000000f));--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-grayscale{--tw-backdrop-grayscale:grayscale(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-invert{--tw-backdrop-invert:invert(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-sepia{--tw-backdrop-sepia:sepia(100%);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}:where(.divide-x-reverse>:not(:last-child)){--tw-divide-x-reverse:1}.ring-inset{--tw-ring-inset:inset}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.placeholder\:text-muted-foreground::placeholder{color:var(--muted-foreground)}.last\:border-0:last-child{border-style:var(--tw-border-style);border-width:0}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\:text-destructive:hover{color:var(--destructive)}.hover\:underline:hover{text-decoration-line:underline}}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}@media (width>=40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-\[1fr_auto_auto\]{grid-template-columns:1fr auto auto}}@media (width>=48rem){.md\:p-0{padding:calc(var(--spacing) * 0)}}@media (width>=64rem){.lg\:col-span-2{grid-column:span 2/span 2}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}}:root{--navy:#152456;--navy-mid:#1a2b6d;--navy-light:#243d8a;--cyan:#00b4e6;--cyan-light:#5fd4f7;--cyan-dark:#0090c4;--green:#1b7339;--sand:#f7f3eb;--sand-dark:#ebe4d6;--white:#fff;--text:#1e293b;--text-muted:#64748b;--attention:#ea580c;--danger:#dc2626;--ok:#16a34a;--radius:.75rem;--radius-lg:1.25rem;--shadow:0 4px 20px #1524561a;--shadow-input:0 2px 12px #1524560f;--nav-height:4.25rem;--tagline-strip-height:2rem;--safe-bottom:env(safe-area-inset-bottom,0px);--background:var(--sand);--foreground:var(--text);--card:var(--white);--card-foreground:var(--text);--popover:var(--white);--popover-foreground:var(--text);--primary:var(--navy);--primary-foreground:var(--white);--secondary:var(--sand-dark);--secondary-foreground:var(--navy);--muted:#f1f5f9;--muted-foreground:var(--text-muted);--accent:var(--cyan);--accent-foreground:#0c1638;--destructive:var(--danger);--border:#e2e8f0;--input:#e2e8f0;--ring:var(--cyan)}.app-shell{min-height:100dvh;padding-bottom:calc(var(--nav-height) + var(--tagline-strip-height) + var(--safe-bottom))}.page{max-width:32rem;margin:0 auto;padding:0 1rem 1rem}.page-title{font-family:var(--font-display);color:var(--navy);margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.page-sub{color:var(--text-muted);margin-bottom:1.25rem;font-size:.9rem}.school-tagline{font-family:var(--font-display);margin:0;font-weight:500;line-height:1.35}.school-tagline__quote{opacity:.85}.school-tagline--auth{color:#ffffffeb;text-shadow:0 1px 8px #00000059;max-width:18rem;margin-top:.75rem;margin-left:auto;margin-right:auto;font-size:.95rem;font-style:italic}.school-tagline--footer{left:0;right:0;bottom:calc(var(--nav-height) + var(--safe-bottom));z-index:45;text-align:center;color:var(--text-muted);background:linear-gradient(to top, var(--sand) 70%, transparent);pointer-events:none;padding:.35rem 1rem;font-size:.68rem;font-style:italic;position:fixed}.school-tagline--sidebar{color:#ffffffbf;margin-bottom:.75rem;font-size:.72rem;font-style:italic;line-height:1.3}.bottom-nav{height:calc(var(--nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;background:#fffffff2;border-top:1px solid #15245614;justify-content:space-around;align-items:center;max-width:32rem;margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}@media (width>=32rem){.bottom-nav{border-radius:var(--radius-lg) var(--radius-lg) 0 0;left:50%;transform:translate(-50%)}}.bottom-nav a{color:var(--text-muted);border-radius:.75rem;flex-direction:column;align-items:center;gap:.15rem;padding:.5rem .75rem;font-size:.65rem;font-weight:600;text-decoration:none;transition:color .2s,background .2s;display:flex}.bottom-nav a .icon{font-size:1.35rem;line-height:1}.bottom-nav a.active{color:var(--cyan-dark);background:#00b4e61a}.app-header{background:linear-gradient(135deg, var(--navy) 0%, var(--navy-light) 100%);color:#fff;border-radius:0 0 1.5rem 1.5rem;margin-bottom:1rem;padding:1rem 1rem 1.25rem;position:relative;overflow:hidden}.app-header-top{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.app-header-top img{height:2rem}.app-header h1{font-family:var(--font-display);font-size:1.35rem;font-weight:700}.app-header p{opacity:.85;font-size:.85rem}.tide-strip{border-radius:var(--radius);background:#ffffff1f;align-items:flex-start;gap:.5rem;padding:.85rem 1rem;font-size:.85rem;display:flex}.badge{border-radius:2rem;align-items:center;gap:.35rem;padding:.3rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-ok{color:#166534;background:#dcfce7}.badge-warn{color:#9a3412;background:#ffedd5}.badge-danger{color:#991b1b;background:#fee2e2}.badge-info{color:#1e40af;background:#dbeafe}.quick-actions{grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem;display:grid}.quick-action{background:var(--white);border-radius:var(--radius);text-align:center;box-shadow:var(--shadow);color:var(--navy);padding:1rem;font-size:.8rem;font-weight:600;text-decoration:none;display:block}.quick-action span{margin-bottom:.35rem;font-size:1.75rem;display:block}.quick-action small{color:var(--text-muted);margin-top:.25rem;font-size:.7rem;font-weight:500;display:block}.quick-action.is-disabled{opacity:.65;cursor:not-allowed;border:1.5px dashed var(--sand-dark)}.quick-action.is-disabled small{color:var(--attention)}.card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.25rem}.credits-ring{align-items:center;gap:1rem;display:flex}.credits-num{font-family:var(--font-display);color:var(--cyan-dark);font-size:2.5rem;font-weight:800;line-height:1}.btn{cursor:pointer;border:none;border-radius:2rem;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.25rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg, var(--cyan), var(--cyan-dark));color:#fff;box-shadow:0 4px 14px #00b4e659}.btn-primary:hover{box-shadow:0 6px 20px #00b4e673}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-outline{color:var(--navy);border:2px solid var(--navy-mid);background:0 0}.btn-block{width:100%}.btn-sm{padding:.45rem .9rem;font-size:.8rem}.btn-link{color:var(--cyan-dark);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:.25rem .5rem;font-size:.85rem;font-weight:600;text-decoration:underline}.btn-link:hover{color:var(--navy)}.admin-incidents-header__badges{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.admin-incidents-error{margin-top:1rem}.admin-incidents-kpi-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.75rem;margin-top:1rem;display:grid}.admin-incidents-kpi{background:var(--white);border:1px solid var(--border,#e5e0d6);border-radius:var(--radius-lg);text-align:left;cursor:pointer;box-shadow:var(--shadow);padding:1rem;transition:border-color .15s,transform .15s}.admin-incidents-kpi:hover{border-color:var(--cyan);transform:translateY(-1px)}.admin-incidents-kpi__value{font-family:var(--font-display);color:var(--navy);font-size:1.75rem;font-weight:700;line-height:1.1;display:block}.admin-incidents-kpi__label{color:var(--text-muted);margin-top:.35rem;font-size:.8rem;display:block}.admin-incidents-preview{margin-top:1rem}.admin-incidents-preview__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.75rem;display:flex}.admin-incidents-preview__head h2{margin:0}.admin-incidents-filter{flex-wrap:wrap;gap:.35rem;display:flex}.admin-incidents-filter button{border:1px solid var(--border,#e5e0d6);background:var(--sand);color:var(--text-muted);cursor:pointer;border-radius:999px;padding:.35rem .75rem;font-size:.8rem}.admin-incidents-filter button.active{background:var(--navy);border-color:var(--navy);color:var(--white)}.admin-incident-list{flex-direction:column;gap:1rem;display:flex}.admin-incident-card{background:var(--white);border:1px solid var(--border,#e5e0d6);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem}.admin-incident-card--compact{padding:1rem}.admin-incident-card__head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.75rem;display:flex}.admin-incident-card__title-block h3{font-family:var(--font-display);color:var(--navy);margin:.25rem 0 0;font-size:1.05rem}.admin-incident-card__type{letter-spacing:.04em;text-transform:uppercase;color:var(--cyan-dark);font-size:.7rem;font-weight:700;display:inline-block}.admin-incident-card__meta{grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:0 0 1rem;font-size:.82rem;display:grid}.admin-incident-card__meta dt{color:var(--text-muted);font-weight:600}.admin-incident-card__meta dd{color:var(--navy);margin:0}.admin-incident-card__body{background:var(--sand);border-radius:var(--radius);margin-bottom:1rem;padding:.85rem 1rem}.admin-incident-card__body h4,.admin-incident-card__response h4{letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);margin:0 0 .5rem;font-size:.75rem;font-weight:700}.admin-incident-card__body p{white-space:pre-wrap;margin:0;font-size:.9rem;line-height:1.5}.admin-incident-card__response-read{border-left:3px solid var(--ok,#16a34a);border-radius:0 var(--radius) var(--radius) 0;background:#16a34a0f;padding:.85rem 1rem}.admin-incident-card__response-read p{white-space:pre-wrap;margin:0;font-size:.9rem}.admin-incident-card__textarea{width:100%;min-height:5rem;margin-bottom:.75rem}.admin-incident-card__actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-incident-card__footnote{margin:.5rem 0 0;font-size:.8rem}.admin-incidents-table-message{max-width:14rem;font-size:.85rem}.admin-incidents-footer-actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.admin-incidents-timeline{border-left:2px solid var(--border,#e5e0d6);margin:1rem 0 0 .75rem;padding:0;list-style:none;position:relative}.admin-incidents-timeline>li{margin-bottom:1rem;padding-left:1.25rem;position:relative}.admin-incidents-timeline>li:before{content:"";background:var(--cyan);border:2px solid var(--white);border-radius:50%;width:.65rem;height:.65rem;position:absolute;top:1rem;left:-.45rem}.incident-student-response{background:var(--surface-muted,#f5f2eb);border-left:3px solid var(--cyan);border-radius:8px;margin-top:.75rem;padding:.75rem}.login-page{background:var(--sand);flex-direction:column;min-height:100dvh;display:flex;position:relative}.login-content{z-index:1;flex-direction:column;flex:1;justify-content:center;width:100%;max-width:24rem;margin:0 auto;padding:2rem 1.5rem;display:flex;position:relative}.login-logo{text-align:center;margin-bottom:2rem}.login-logo img{height:4rem;margin:0 auto 1rem}.login-logo h1{font-family:var(--font-display);color:var(--navy);font-size:1.75rem;font-weight:800}.login-logo p{color:var(--text-muted);margin-top:.25rem;font-size:.9rem}.login-form{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.5rem}.login-form h2{font-family:var(--font-display);color:var(--navy);text-align:center;margin-bottom:1.25rem;font-size:1.15rem}.login-footer{text-align:center;color:var(--text-muted);margin-top:1.5rem;font-size:.85rem}.login-footer a{color:var(--cyan-dark);font-weight:600}.social-auth{flex-direction:column;gap:.65rem;display:flex}.btn-social{border-radius:var(--radius);border:1.5px solid var(--sand-dark);background:var(--white);cursor:pointer;justify-content:center;align-items:center;gap:.65rem;width:100%;padding:.75rem 1rem;font-size:.9rem;font-weight:600;transition:background .15s,box-shadow .15s;display:flex}.btn-social:disabled{opacity:.6;cursor:wait}.btn-social:hover:not(:disabled){background:var(--sand)}.btn-google .social-icon{color:#4285f4;background:#fff;border:1px solid #dadce0;border-radius:50%;justify-content:center;align-items:center;width:1.25rem;height:1.25rem;font-size:.85rem;font-weight:800;display:flex}.btn-apple{color:#fff;background:#000;border-color:#000}.btn-apple:hover:not(:disabled){background:#1a1a1a}.btn-apple .social-icon{background:currentColor;width:1rem;height:1.25rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='black' d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 25 184.8 25 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 76-17.9s51.2 17.9 76.1 17.5c48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath fill='black' d='M318.7 268.7c-.2-36.7 16.4-64.4 50-84.8-18.8-26.9-47.2-41.7-84.7-44.6-35.5-2.8-74.3 20.7-88.5 20.7-15 0-49.4-19.7-76.4-19.7C63.3 141.2 25 184.8 25 273.5q0 39.3 14.4 81.2c12.8 36.7 59 126.7 107.2 125.2 25.2-.6 43-17.9 76-17.9s51.2 17.9 76.1 17.5c48.6-.7 90.4-82.5 102.6-119.3-65.2-30.7-61.7-90-61.7-91.9zm-56.6-164.2c27.3-32.4 24.8-61.9 24-72.5-24.1 1.4-52 16.4-67.9 34.9-17.5 19.8-27.8 44.3-25.6 71.9 26.1 2 49.9-11.4 69.5-34.3z'/%3E%3C/svg%3E") 50%/contain no-repeat}.demo-panel{border-top:1px dashed var(--sand-dark);margin-top:1.25rem;padding-top:1rem}.demo-panel summary{color:var(--text-muted);cursor:pointer;margin-bottom:.5rem;font-size:.75rem}.divider{color:var(--text-muted);align-items:center;gap:.75rem;margin:1rem 0;font-size:.8rem;display:flex}.divider:before,.divider:after{content:"";background:var(--sand-dark);flex:1;height:1px}.auth-subtitle{text-align:center;color:var(--text-muted);margin:-.75rem 0 1.25rem;font-size:.85rem}.auth-error{color:#b91c1c;border-radius:var(--radius);background:#fef2f2;margin-bottom:1rem;padding:.65rem .85rem;font-size:.85rem}.auth-terms{color:var(--text-muted);margin:.75rem 0 1rem;font-size:.8rem;line-height:1.45}.auth-switch{text-align:center;color:var(--text-muted);margin-top:1rem;font-size:.85rem}.auth-switch a{color:var(--cyan-dark);font-weight:600}.form-field{margin-bottom:1rem}.form-hint{color:var(--text-muted);margin-top:.35rem;font-size:.8rem}.label-optional{color:var(--text-muted);font-size:.85rem;font-weight:400}.form-radio-group{flex-wrap:wrap;gap:.75rem 1.25rem;display:flex}.form-radio-group .checkbox-row{margin-bottom:0}.form-field>label{color:var(--navy);margin-bottom:.45rem;font-size:.9rem;font-weight:600;display:block}.form-field input{border:1.5px solid var(--sand-dark);background:var(--white);width:100%;color:var(--text);box-shadow:var(--shadow-input);border-radius:2rem;padding:.85rem 1.1rem;font-size:1rem}.form-field input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #00b4e626, var(--shadow-input);outline:none}.demo-hints{border-radius:var(--radius);background:var(--sand);color:var(--text-muted);margin-top:1rem;padding:.85rem;font-size:.8rem}.demo-hints button{color:var(--cyan-dark);cursor:pointer;background:0 0;border:none;padding:0;font-weight:600}.admin-shell{background:var(--sand);min-height:100dvh;display:flex}.admin-sidebar{background:var(--navy);color:#fff;flex-direction:column;flex-shrink:0;width:15rem;height:100dvh;padding:1.25rem 1rem;display:none;position:sticky;top:0;overflow-y:auto}@media (width>=768px){.admin-sidebar{display:flex}}.admin-brand{border-bottom:1px solid #ffffff1a;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.admin-brand img{height:2.5rem}.admin-brand strong{font-size:.9rem;display:block}.admin-brand span{color:var(--cyan-light);font-size:.75rem}.admin-nav{flex-direction:column;flex:1;gap:.15rem;display:flex}.admin-nav a{color:#ffffffbf;border-radius:.5rem;padding:.55rem .75rem;font-size:.85rem;font-weight:500;text-decoration:none;transition:background .2s,color .2s}.admin-nav a:hover{color:#fff;background:#ffffff14}.admin-nav a.active{color:#fff;background:#00b4e633}.admin-sidebar-foot{border-top:1px solid #ffffff1a;margin-top:auto;padding-top:1rem;font-size:.8rem}.admin-sidebar-foot p{opacity:.9;margin-bottom:.5rem}.admin-link-muted{color:var(--cyan-light);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:.75rem;padding:0;font-size:.8rem;display:block}.admin-main{flex:1;min-width:0;overflow-x:auto}.admin-page{max-width:72rem;padding:1.5rem 1rem 2rem}@media (width>=768px){.admin-page{padding:1.5rem 2rem 2rem}}.admin-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.admin-header h1{font-family:var(--font-display);color:var(--navy);font-size:1.75rem}.admin-header p{color:var(--text-muted);margin-top:.25rem;font-size:.9rem}.admin-kpi-grid{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr));gap:1rem;display:grid}.admin-kpi{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem}.admin-kpi-label{color:var(--text-muted);margin-bottom:.35rem;font-size:.85rem}.admin-kpi-value{font-family:var(--font-display);color:var(--navy);font-size:1.75rem;font-weight:700}.admin-mobile-bar{display:none}.admin-mobile-shell{--admin-mobile-header-height:3.5rem}@media (width<=767px){.admin-main{flex-direction:column;display:flex}}.admin-mobile-header{min-height:var(--admin-mobile-header-height);background:var(--navy);color:#fff;z-index:200;flex-shrink:0;align-items:center;gap:.75rem;padding:.65rem 1rem;display:flex;position:sticky;top:0}@media (width>=768px){.admin-mobile-shell{display:none}}.admin-mobile-logo{flex-shrink:0;height:1.75rem}.admin-mobile-header strong{font-family:var(--font-display);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.95rem;line-height:1.2;overflow:hidden}.admin-menu-toggle{cursor:pointer;background:0 0;border:none;flex-direction:column;flex-shrink:0;justify-content:center;gap:5px;width:2.5rem;height:2.5rem;margin-left:auto;padding:.5rem;display:flex}.admin-menu-toggle span{background:#fff;border-radius:2px;width:22px;height:2px;transition:transform .2s,opacity .2s;display:block}.admin-menu-toggle.is-open span:first-child{transform:translateY(7px)rotate(45deg)}.admin-menu-toggle.is-open span:nth-child(2){opacity:0}.admin-menu-toggle.is-open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.admin-mobile-backdrop{inset:var(--admin-mobile-header-height) 0 0 0;z-index:198;cursor:pointer;background:#0c163866;border:none;animation:.2s adminNavFadeIn;position:fixed}.admin-mobile-nav{top:var(--admin-mobile-header-height);background:var(--white);z-index:199;-webkit-overflow-scrolling:touch;flex-direction:column;gap:.15rem;padding:.75rem 1rem 1.5rem;display:none;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.admin-mobile-nav.open{animation:.25s adminNavSlideDown;display:flex}.admin-mobile-nav a{color:var(--navy);border-radius:var(--radius);padding:.85rem 1rem;font-size:1rem;font-weight:600;text-decoration:none}.admin-mobile-nav a:hover{background:var(--sand)}.admin-mobile-nav a.active{background:var(--sand);color:var(--cyan-dark)}.admin-mobile-nav-foot{border-top:1px solid var(--sand-dark);margin-top:auto;padding-top:1rem}.admin-mobile-nav-foot p{color:var(--text-muted);margin-bottom:.75rem;font-size:.85rem}@keyframes adminNavSlideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes adminNavFadeIn{0%{opacity:0}to{opacity:1}}.notif-item{border-bottom:1px solid var(--sand-dark);gap:.75rem;padding:1rem 0;display:flex}.notif-item:last-child{border-bottom:none}.notif-dot{background:var(--cyan);border-radius:50%;flex-shrink:0;width:10px;height:10px;margin-top:.35rem}.notif-item.read .notif-dot{background:var(--sand-dark)}.badge-muted{color:#64748b;background:#f1f5f9}.slot-grid{grid-template-columns:repeat(2,1fr);gap:.5rem;display:grid}.slot-btn{border:1.5px solid var(--sand-dark);border-radius:var(--radius);background:var(--white);cursor:pointer;text-align:center;padding:.75rem;font-size:.85rem;font-weight:600}.slot-btn:disabled{opacity:.45;cursor:not-allowed}.slot-btn.selected{border-color:var(--cyan);color:var(--cyan-dark);background:#00b4e614}.slot-btn.recommended:after{content:" ★";color:var(--green)}.lesson-duration-picker{border-top:1px solid var(--border);margin-top:1rem;padding-top:1rem}.lesson-duration-picker__label{color:var(--navy);margin-bottom:.5rem;font-size:.85rem;font-weight:600}.lesson-duration-picker__grid{grid-template-columns:1fr 1fr;align-items:stretch;gap:.5rem;display:grid}.duration-btn{border:1.5px solid var(--sand-dark);border-radius:var(--radius);background:var(--white);cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-height:4.5rem;padding:.75rem .5rem;display:flex;position:relative}.duration-btn--featured{border-color:var(--cyan);background:#00b4e60f;grid-row:span 1;min-height:5.25rem;font-size:1rem}.duration-btn.selected{border-color:var(--cyan-dark);box-shadow:0 0 0 1px var(--cyan);background:#00b4e624}.duration-btn__badge{text-transform:uppercase;letter-spacing:.04em;color:var(--green);margin-bottom:.15rem;font-size:.65rem;font-weight:700;display:block}.duration-btn__meta{color:var(--text-muted);font-size:.75rem;font-weight:500}.booking-calendar__nav{justify-content:space-between;align-items:center;margin-bottom:.75rem;display:flex}.booking-calendar__weekdays,.booking-calendar__grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.25rem;font-size:.75rem;display:grid}.booking-calendar__weekdays span{color:var(--text-muted);font-weight:700}.booking-calendar__day{aspect-ratio:1;border:1px solid var(--sand-dark);cursor:pointer;background:#fff;border-radius:.35rem;font-size:.8rem}.booking-calendar__day--empty{cursor:default;background:0 0;border:none}.booking-calendar__day:disabled{opacity:.35;cursor:not-allowed}.booking-calendar__day.has-slots{border-color:var(--cyan);font-weight:700}.booking-calendar__day.selected{background:var(--navy);color:#fff;border-color:var(--navy)}.booking-calendar__date-label{color:var(--text-muted);margin:1rem 0 .5rem;font-size:.85rem}.availability-calendar{margin-top:.25rem}.availability-calendar__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.availability-calendar__toolbar .booking-calendar__nav{flex:1;min-width:10rem;margin-bottom:0}.availability-calendar__month-input{border:1px solid var(--sand-dark);background:#fff;border-radius:.35rem;padding:.35rem .5rem;font-size:.85rem}.availability-calendar__legend{flex-wrap:wrap;gap:.75rem;margin-bottom:.75rem;font-size:.75rem;display:flex}.availability-calendar__legend-item{align-items:center;gap:.35rem;display:inline-flex}.availability-calendar__legend-item:before{content:"";border:1px solid #0000;border-radius:.2rem;width:.75rem;height:.75rem}.availability-calendar__legend-item--available:before{border-color:var(--green);background:#1b733926}.availability-calendar__legend-item--unavailable:before{background:#dc262614;border-color:#dc262673}.availability-calendar__legend-item--partial:before{background:#d4a01726;border-color:#d4a017}.availability-calendar__grid .availability-calendar__day--full{border-color:var(--green);color:var(--green);background:#1b733926;font-weight:700}.availability-calendar__grid .availability-calendar__day--partial:not(.availability-calendar__day--selected){color:#9a7200;background:#d4a0171f;border-color:#d4a017;font-weight:700}.availability-calendar__grid .availability-calendar__day--unavailable:not(.availability-calendar__day--selected){color:var(--danger);background:#dc262614;border-color:#dc262673}.availability-calendar__grid .availability-calendar__day--available{border-color:var(--green);color:var(--green);background:#1b733926;font-weight:700}.availability-calendar__grid .availability-calendar__day--selected{box-shadow:inset 0 0 0 2px var(--navy)}.availability-calendar__day-panel{border-top:1px solid var(--sand-dark);margin-top:.75rem;padding-top:.75rem}.availability-calendar__ranges{gap:.75rem;margin-top:.75rem;display:grid}@media (width>=480px){.availability-calendar__ranges{grid-template-columns:1fr 1fr}}.availability-calendar__range-inputs{align-items:center;gap:.35rem;margin-top:.25rem;display:flex}.availability-calendar__range-inputs input[type=time]{border:1px solid var(--sand-dark);border-radius:.35rem;flex:1;min-width:0;padding:.35rem .4rem;font-size:.85rem}.availability-calendar__actions{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.schedule-calendar__legend{color:var(--text-muted);flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:.75rem;font-size:.75rem;display:flex}.schedule-calendar__legend-item{align-items:center;gap:.35rem;display:inline-flex}.schedule-calendar__swatch{border:1px solid var(--sand-dark);border-radius:.2rem;width:.85rem;height:.85rem}.schedule-calendar__swatch--open{background:#e8f7ef;border-color:#2d9a5c}.schedule-calendar__swatch--occupied{background:var(--cyan);border-color:var(--cyan-dark)}.schedule-calendar__swatch--closed{background:#fde8e8;border-color:#c44}.schedule-calendar__swatch--selected{background:var(--navy);border-color:var(--navy)}.schedule-calendar__day{flex-direction:column;justify-content:center;align-items:center;gap:.15rem;min-height:2.75rem;padding:.2rem;display:flex;position:relative}.schedule-calendar__day-num{font-weight:600;line-height:1}.schedule-calendar__day-count{background:var(--cyan);color:#fff;border-radius:999px;min-width:1.1rem;padding:.05rem .25rem;font-size:.65rem;font-weight:700;line-height:1.2}.schedule-calendar__day.selected .schedule-calendar__day-count{color:var(--navy);background:#fff}.schedule-row-edit{color:var(--cyan-dark);opacity:.85;justify-content:center;align-items:center;display:inline-flex}.schedule-row-edit:hover{opacity:1;color:var(--navy)}.schedule-calendar__day--has-slots:not(.selected):not(.schedule-calendar__day--closed){background:#f4fbf7;border-color:#2d9a5c}.schedule-calendar__day--closed{color:#a33;background:#fde8e8;border-color:#e8a0a0}.schedule-calendar__day-closed{font-size:.65rem;font-weight:700;line-height:1}.schedule-gen-times{flex-wrap:wrap;gap:.35rem .75rem;margin-top:.35rem;display:flex}.availability-shift-panel__shifts{flex-direction:column;gap:.5rem;display:flex}.availability-shift-panel--compact .availability-shift-panel__shifts{flex-flow:wrap;gap:.75rem 1.25rem}.availability-shift-panel__shift{flex-direction:column;gap:.5rem;display:flex}.availability-shift-panel__times{flex-wrap:wrap;gap:.5rem .75rem;margin-left:1.5rem;display:flex}.availability-shift-panel__time{flex-direction:column;gap:.15rem;font-size:.8rem;display:flex}.availability-shift-panel__time input[type=time]{border:1px solid var(--border);border-radius:var(--radius);background:var(--background);height:2rem;padding:.15rem .35rem}.availability-calendar__day--past{opacity:.55}.admin-instructor-availability__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.75rem;display:grid}.admin-instructor-availability__card{border:1px solid var(--sand-dark);border-radius:var(--radius);background:#fafafa;padding:.75rem}.admin-instructor-availability__card-head{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.admin-instructor-availability__edit{border:1px solid var(--sand-dark);width:2rem;height:2rem;color:var(--navy);background:#fff;border-radius:.35rem;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,border-color .15s;display:inline-flex}.admin-instructor-availability__edit:hover{border-color:var(--cyan);color:var(--cyan-dark);background:#00b4e614}.admin-instructor-availability__shifts{flex-direction:column;gap:.35rem;margin:.65rem 0 0;padding:0;list-style:none;display:flex}.admin-instructor-availability__shift{border:1px solid var(--sand-dark);background:#fff;border-radius:.35rem;justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem .5rem;font-size:.8rem;display:flex}.admin-instructor-availability__shift.is-available{background:#1b73390f;border-color:#1b733959}.admin-instructor-availability__shift.is-unavailable{opacity:.85;background:#dc26260a;border-color:#dc262640}.admin-instructor-availability__shift-label small{color:var(--text-muted);font-weight:400}.admin-instructor-availability__shift-state{text-transform:uppercase;letter-spacing:.02em;font-size:.7rem;font-weight:700}.admin-instructor-availability__shift.is-available .admin-instructor-availability__shift-state{color:var(--green)}.admin-instructor-availability__shift.is-unavailable .admin-instructor-availability__shift-state{color:var(--danger)}.schedule-slot-picker__presets{margin-bottom:1rem}.schedule-slot-picker__preset-buttons{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.schedule-slot-picker__groups{gap:1rem;margin-bottom:1rem;display:grid}@media (width>=640px){.schedule-slot-picker__groups{grid-template-columns:1fr 1fr}}.schedule-slot-picker__group{border:1px solid var(--sand-dark);border-radius:var(--radius);margin:0;padding:.75rem}.schedule-slot-picker__group legend{padding:0 .25rem;font-size:.85rem;font-weight:600}.schedule-slot-picker__options{flex-wrap:wrap;gap:.35rem .75rem;margin-top:.35rem;display:flex}.schedule-slot-picker__option{font-size:.85rem}.schedule-slot-picker__custom-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.25rem;display:flex}.schedule-slot-picker__time-input{border:1px solid var(--sand-dark);border-radius:.35rem;padding:.35rem .5rem;font-size:.85rem}.schedule-slot-picker--period{margin-top:.5rem}.schedule-slot-picker__chip-group{margin-bottom:.65rem}.schedule-slot-picker__chip-group:last-of-type{margin-bottom:0}.schedule-slot-picker__chip-label{color:var(--text-muted);margin-bottom:.35rem;font-size:.75rem;font-weight:600;display:block}.schedule-slot-picker__chips{flex-wrap:wrap;gap:.35rem;display:flex}.schedule-slot-chip{border:1px solid var(--sand-dark);color:var(--text-muted);cursor:pointer;background:#fff;border-radius:999px;padding:.3rem .75rem;font-size:.8rem;font-weight:600;transition:background .15s,border-color .15s,color .15s}.schedule-slot-chip:hover{border-color:var(--cyan);color:var(--navy)}.schedule-slot-chip.is-selected{background:var(--navy);border-color:var(--navy);color:#fff}.schedule-slot-chip.is-selected:hover{background:var(--cyan-dark);border-color:var(--cyan-dark)}.data-table{border-collapse:collapse;width:100%;font-size:.85rem}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;padding:.5rem .65rem}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.75rem;font-weight:600}.schedule-view-tabs{flex-wrap:wrap;gap:.35rem;margin-top:1rem;display:flex}.schedule-view-tab{border:1px solid var(--border);background:var(--white);color:var(--text-muted);border-radius:var(--radius);cursor:pointer;padding:.35rem .75rem;font-size:.8rem}.schedule-view-tab--active{border-color:var(--cyan-dark);color:var(--cyan-dark);background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.schedule-view-tab--active{background:color-mix(in srgb, var(--cyan) 12%, white)}}.schedule-view-tab--active{font-weight:600}.schedule-matrix-wrap{overflow-x:auto}.schedule-matrix__hint{margin:0 0 .75rem}.schedule-matrix{border-collapse:collapse;width:100%;min-width:32rem;font-size:.8rem}.schedule-matrix th,.schedule-matrix td{border:1px solid var(--border);text-align:center;vertical-align:middle;padding:.4rem .5rem}.schedule-matrix thead th{background:var(--bg-muted,#f8fafc);text-transform:uppercase;letter-spacing:.02em;color:var(--text-muted);font-size:.72rem;font-weight:600}.schedule-matrix__corner{text-align:left;min-width:4rem}.schedule-matrix__time{text-align:left;white-space:nowrap;background:var(--bg-muted,#f8fafc);font-weight:600}.schedule-matrix__cell{min-width:5.5rem;line-height:1.25}.schedule-matrix__cell--empty{color:var(--text-muted);opacity:.55}.schedule-matrix__cell--ok{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.schedule-matrix__cell--ok{background:color-mix(in srgb, var(--cyan) 8%, white)}}.schedule-matrix__cell--warn{background:#fdeed3}.schedule-matrix__cell--tide{background:#fde5e5}.schedule-matrix__cell--full{background:#eaedf1}.schedule-matrix__cell--resale{background:#efe8fe}.schedule-matrix__occupancy{font-weight:700;display:block}.schedule-matrix__beach{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;max-width:6rem;margin:0 auto;font-size:.68rem;display:block;overflow:hidden}.schedule-matrix__badges{flex-wrap:wrap;justify-content:center;gap:.15rem;margin-top:.15rem;display:flex}.schedule-matrix__badge{color:var(--text-muted);background:#0000000f;border-radius:999px;padding:.05rem .25rem;font-size:.62rem}.schedule-matrix__badge--tide{color:#b91c1c;background:#fbd0d0}.schedule-matrix__badge--resale{color:#6d28d9;background:#e2d6fd}.schedule-matrix__badge--shift{color:#b45309;background:#fde7c2}.schedule-matrix__day-btn{color:inherit;font:inherit;cursor:pointer;text-transform:inherit;background:0 0;border:none;padding:0}.schedule-matrix__day--selected{background:var(--cyan)}@supports (color:color-mix(in lab, red, red)){.schedule-matrix__day--selected{background:color-mix(in srgb, var(--cyan) 18%, white)}}.admin-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);margin-bottom:1rem;padding:1.25rem}.admin-card h2{font-family:var(--font-display);color:var(--navy);margin-bottom:1rem;font-size:1.1rem}.loyalty-rule-card{border:1px solid var(--border);border-radius:var(--radius);margin-top:.75rem;padding:1rem}.loyalty-rule-card:first-of-type{margin-top:0}.toggle{border:1px solid var(--sand-dark);background:var(--sand);cursor:pointer;border-radius:2rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600}.toggle.on{color:#166534;background:#dcfce7;border-color:#bbf7d0}.guest-flow .back-link{color:var(--cyan-dark);margin-bottom:.75rem;font-size:.85rem;display:inline-block}.guest-steps{gap:.5rem;margin-bottom:1.25rem;display:flex}.guest-steps span{border:2px solid var(--sand-dark);width:2rem;height:2rem;color:var(--text-muted);border-radius:50%;justify-content:center;align-items:center;font-size:.85rem;font-weight:600;display:flex}.guest-steps span.active{background:var(--navy);border-color:var(--navy);color:#fff}.guest-steps span.done{background:var(--cyan);border-color:var(--cyan);color:#fff}.guest-product-picker{flex-direction:column;gap:.5rem;display:flex}.guest-product-option{border:2px solid var(--sand-dark);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:.65rem;padding:.75rem;transition:border-color .15s,background .15s;display:flex}.guest-product-option input{margin-top:.2rem}.guest-product-option span{flex-direction:column;gap:.15rem;display:flex}.guest-product-option small{color:var(--text-muted);font-size:.8rem}.guest-product-option.active{border-color:var(--cyan-dark);background:#7dd3fc1f}.guest-product-option:has(input:checked){border-color:var(--cyan-dark);background:#7dd3fc1f}.admin-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;display:flex}.text-muted{color:var(--text-muted)}.instructor-suggest h3{font-family:var(--font-display)}.compat-hint{color:var(--attention);margin-top:.5rem;font-size:.8rem}.calendar-links{flex-wrap:wrap;gap:.5rem;display:flex}.calendar-links__apple{border-color:var(--navy);color:var(--navy)}.booking-confirmed-panel .calendar-links .btn{padding:.45rem .85rem;font-size:.8rem}.booking-blocked-hint{border-radius:var(--radius);background:#ea580c14;border:1.5px solid #ea580c40;margin-bottom:1rem;padding:1rem 1.1rem}.booking-blocked-hint strong{color:var(--navy);font-family:var(--font-display);margin-bottom:.35rem;display:block}.booking-blocked-hint p{color:var(--text-muted);margin:0 0 .75rem;font-size:.9rem;line-height:1.45}.back-link{color:var(--cyan-dark);margin-bottom:.75rem;font-size:.85rem;text-decoration:none;display:inline-block}.input-group{flex-direction:column;gap:.45rem;display:flex}.input-group>label{color:var(--navy);margin-bottom:.45rem;font-size:.9rem;font-weight:600;display:block}.input-group input:not([type=checkbox]):not([type=file]):not([type=radio]),.input-group select,.input-group textarea{border:1.5px solid var(--sand-dark);background:var(--white);width:100%;color:var(--text);box-shadow:var(--shadow-input);border-radius:2rem;padding:.85rem 1.1rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.input-group textarea{border-radius:var(--radius-lg);resize:vertical;min-height:5rem;line-height:1.45}.input-group input:focus:not([type=file]),.input-group select:focus,.input-group textarea:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #00b4e626, var(--shadow-input);outline:none}.admin-form .input-group{margin-bottom:.85rem}.admin-form .checkbox-row{margin-bottom:.5rem}.input-group>span,.admin-field>span{color:var(--navy);font-size:.9rem;font-weight:600}.admin-field{flex-direction:column;gap:.45rem;display:flex}.async-combobox{width:100%;position:relative}.async-combobox__control{align-items:center;display:flex;position:relative}.async-combobox__icon-search{pointer-events:none;opacity:.55;z-index:1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%23152456' stroke-width='2'%3E%3Cpath stroke-linecap='round' d='M21 21l-4.35-4.35M11 18a7 7 0 1 1 0-14 7 7 0 0 1 0 14z'/%3E%3C/svg%3E") 50%/contain no-repeat;width:1.1rem;height:1.1rem;position:absolute;left:1rem}.async-combobox__input{border:1.5px solid var(--sand-dark);background:var(--white);width:100%;color:var(--text);box-shadow:var(--shadow-input);border-radius:2rem;padding:.85rem 2.75rem .85rem 2.65rem;font-family:inherit;font-size:1rem;transition:border-color .2s,box-shadow .2s}.admin-field .async-combobox__input{padding:.75rem 2.75rem .75rem 2.65rem;font-size:.95rem}.async-combobox__input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #00b4e626, var(--shadow-input);outline:none}.async-combobox.is-open .async-combobox__input{border-color:var(--cyan);box-shadow:0 0 0 3px #00b4e626, var(--shadow-input)}.async-combobox.is-disabled{opacity:.65;pointer-events:none}.async-combobox__chevron{border-right:2px solid var(--navy-light);border-bottom:2px solid var(--navy-light);pointer-events:none;width:.65rem;height:.65rem;transition:transform .2s;position:absolute;right:1rem;transform:rotate(45deg)translateY(-2px)}.async-combobox.is-open .async-combobox__chevron{transform:rotate(-135deg)translateY(2px)}.async-combobox.is-loading .async-combobox__chevron{display:none}.async-combobox.has-value .async-combobox__chevron{right:2.35rem}.async-combobox__spinner{border:2px solid var(--sand-dark);border-top-color:var(--cyan);border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite async-combobox-spin;position:absolute;right:2.35rem}@keyframes async-combobox-spin{to{transform:rotate(360deg)}}.async-combobox__clear{background:var(--sand);width:1.5rem;height:1.5rem;color:var(--navy);cursor:pointer;z-index:2;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:1.1rem;line-height:1;display:flex;position:absolute;right:2.1rem}.async-combobox__clear:hover{background:var(--sand-dark)}.async-combobox__field-hint{color:var(--text-muted);margin:.35rem 0 0 .25rem;font-size:.78rem;line-height:1.35}.async-combobox__panel{z-index:50;background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1.5px solid #1524561f;position:absolute;top:calc(100% + .25rem);left:0;right:0;overflow:hidden}.async-combobox__panel-head{background:linear-gradient(180deg, var(--sand) 0%, var(--white) 100%);border-bottom:1px solid var(--sand-dark);font-family:var(--font-display);color:var(--navy);text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.8rem;font-weight:600;display:flex}.async-combobox__panel-badge{font-family:var(--font-body);color:var(--cyan-dark);text-transform:none;letter-spacing:0;font-size:.75rem;font-weight:500}.async-combobox__list{max-height:13rem;overflow-y:auto}.async-combobox__hint{color:var(--text-muted);padding:.75rem 1rem;font-size:.85rem;line-height:1.4}.async-combobox__option{border:none;border-bottom:1px solid var(--sand);text-align:left;width:100%;font:inherit;color:var(--text);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:.2rem;padding:.7rem 1rem;display:flex}.async-combobox__option:last-child{border-bottom:none}.async-combobox__option-label{color:var(--navy);font-weight:500}.async-combobox__option-hint{color:var(--text-muted);font-size:.78rem}.async-combobox__option.is-active,.async-combobox__option:hover:not(:disabled){background:#00b4e614}.async-combobox__option.is-disabled{opacity:.5;cursor:not-allowed}.tab-bar{gap:.5rem;margin-bottom:1rem;display:flex}.tab-bar button{border:2px solid var(--sand-dark);background:var(--white);color:var(--text-muted);cursor:pointer;border-radius:2rem;flex:1;padding:.65rem;font-weight:600}.tab-bar button.active{border-color:var(--cyan);color:var(--navy);background:#00b4e614}.catalog-list{flex-direction:column;gap:.75rem;display:flex}.catalog-item{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem;display:flex}.catalog-item h3{font-family:var(--font-display);color:var(--navy);margin-bottom:.25rem;font-size:1rem}.catalog-item p{color:var(--text-muted);font-size:.85rem}.catalog-item small{color:var(--cyan-dark);font-size:.75rem}.catalog-item-action{text-align:right;flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.5rem;display:flex}.catalog-item-buttons{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.shop-page__head,.cart-page__head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.cart-link{color:var(--navy);white-space:nowrap;align-items:center;gap:.4rem;font-weight:600;text-decoration:none;display:inline-flex}.cart-link__badge{background:var(--cyan);color:var(--navy);border-radius:1rem;padding:.1rem .45rem;font-size:.72rem;font-weight:700}.cart-empty{text-align:center;padding:2rem 1rem}.cart-lines{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.cart-line{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.cart-line__main h3{font-family:var(--font-display);color:var(--navy);margin:.35rem 0 .25rem;font-size:1rem}.cart-line__unit{color:var(--text-muted);margin:0;font-size:.85rem}.cart-line__actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.35rem;display:flex}.cart-line__total{font-family:var(--font-display);color:var(--navy)}.cart-qty{align-items:center;gap:.5rem;display:flex}.cart-checkout-bar{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);justify-content:space-between;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;display:flex;position:sticky;bottom:0}.cart-checkout-bar__total{font-family:var(--font-display);color:var(--cyan-dark);font-size:1.25rem;display:block}.card-link{color:inherit;text-decoration:none;transition:box-shadow .15s}.card-link:hover{box-shadow:0 6px 24px #15245624}.feature-list-plain{color:var(--text-muted);margin:0;padding-left:1.1rem;font-size:.85rem}.form-label{color:var(--navy);margin-bottom:.45rem;font-size:.9rem;font-weight:600;display:block}.form-input,.form-field select,.form-field textarea{border:1.5px solid var(--sand-dark);background:var(--white);width:100%;color:var(--text);box-shadow:var(--shadow-input);border-radius:1rem;padding:.85rem 1.1rem;font-size:1rem}.form-field select:focus,.form-field textarea:focus,.form-input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px #00b4e626, var(--shadow-input);outline:none}.finance-dash .admin-header{margin-bottom:1.25rem}.admin-license-footer{text-align:center;border-top:1px solid #15245614;margin-top:2rem;padding-top:1rem;font-size:.8rem}.admin-license-footer__link{color:var(--text-muted);text-decoration:none}.admin-license-footer__link:hover{color:var(--navy);text-decoration:underline}.finance-kpi-row{grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.finance-kpi{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);border:1px solid #1524560f;align-items:flex-start;gap:1rem;padding:1.25rem 1.35rem;display:flex}.finance-kpi-icon{background:var(--sand);border-radius:.65rem;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:1.1rem;display:flex}.finance-kpi-label{color:var(--text-muted);margin-bottom:.2rem;font-size:.78rem;display:block}.finance-kpi-value{font-family:var(--font-display);color:var(--navy);font-size:1.45rem;font-weight:800;line-height:1.2;display:block}.finance-kpi-badge{border-radius:.35rem;margin:.25rem 0;padding:.15rem .45rem;font-size:.72rem;font-weight:700;display:inline-block}.finance-kpi-badge.up{color:#15803d;background:#22c55e26}.finance-kpi-badge.down{color:#b91c1c;background:#ef44441f}.finance-kpi small{color:var(--text-muted);margin-top:.15rem;font-size:.72rem;display:block}.patrimonio-alerts{border-left:4px solid var(--attention)}.patrimonio-alerts h2{color:var(--attention)}.patrimonio-alerts p{margin:.35rem 0;font-size:.9rem}.patrimonio-alerts a{color:var(--navy);font-weight:600}.finance-charts-row{gap:1rem;margin-bottom:1rem;display:grid}@media (width>=960px){.finance-charts-row{grid-template-columns:1.4fr 1fr}}.finance-chart-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:1.25rem;display:flex}.finance-chart-head h2{margin-bottom:0}.finance-stacked-chart{align-items:flex-end;gap:.65rem;height:11rem;padding-top:.5rem;display:flex}.finance-bar-col{flex-direction:column;flex:1;align-items:center;min-width:2.5rem;height:100%;display:flex}.finance-bar-stack{border-radius:.35rem .35rem 0 0;flex-direction:column-reverse;width:100%;max-width:3rem;min-height:4%;display:flex;overflow:hidden}.finance-bar-seg{width:100%;min-height:2px}.seg-package{background:var(--navy)}.seg-lesson{background:var(--cyan)}.seg-shop{background:#f5a623}.finance-bar-label{color:var(--text-muted);margin-top:.4rem;font-size:.68rem}.finance-legend{color:var(--text-muted);flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:.78rem;display:flex}.finance-legend .dot,.finance-donut-legend .dot{vertical-align:middle;border-radius:2px;width:.55rem;height:.55rem;margin-right:.35rem;display:inline-block}.dot-package{background:var(--navy)}.dot-lesson{background:var(--cyan)}.dot-shop{background:#f5a623}.finance-donut-wrap{flex-wrap:wrap;justify-content:center;align-items:center;gap:1.5rem;display:flex}.finance-donut{border-radius:50%;flex-shrink:0;width:10rem;height:10rem;position:relative}.finance-donut-hole{background:var(--white);text-align:center;box-shadow:inset 0 0 0 1px var(--sand-dark);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:22%}.finance-donut-hole strong{font-family:var(--font-display);color:var(--navy);font-size:.95rem}.finance-donut-hole span{color:var(--text-muted);font-size:.7rem}.finance-donut-legend{min-width:11rem;margin:0;padding:0;font-size:.85rem;list-style:none}.finance-donut-legend li{grid-template-columns:auto 1fr auto;align-items:center;gap:.35rem .5rem;margin-bottom:.5rem;display:grid}.finance-donut-legend em{color:var(--text-muted);grid-column:2/-1;font-size:.75rem;font-style:normal}.stack-item{background:var(--sand);border-radius:var(--radius);margin-bottom:.5rem;padding:.85rem;font-size:.9rem}.stack-list{flex-direction:column;gap:.75rem;display:flex}.stack-list .stack-item{margin-bottom:0}.stack-item p{color:var(--text-muted);margin:.35rem 0}.stack-item small{color:var(--text-muted);font-size:.75rem}.admin-sea-layout{flex-direction:column;gap:1rem;max-width:42rem;display:flex}.kpi-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;display:grid}.kpi-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:inherit;flex-direction:column;gap:.35rem;padding:1.25rem;display:flex}.kpi-card strong{font-family:var(--font-display);color:var(--navy);font-size:1.5rem}.kpi-card small{color:var(--text-muted);font-size:.8rem}.admin-table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;margin-bottom:1rem;display:flex}.admin-field{flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.admin-field input:not(.async-combobox__input),.admin-field select{border:1px solid var(--border);border-radius:var(--radius);min-width:14rem;padding:.5rem .65rem}.admin-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;font-size:.85rem;display:flex}.admin-pagination-actions{align-items:center;gap:.5rem;display:flex}.wa-phone-link{color:var(--cyan-dark);align-items:center;gap:.35rem;text-decoration:none;display:inline-flex}.wa-phone-link__icon{flex-shrink:0;width:1rem;height:1rem}.admin-field-label{color:var(--navy);font-size:.85rem;font-weight:600;display:block}.admin-form-stack{flex-direction:column;gap:1rem;display:flex}.checkbox-row{color:var(--text);align-items:center;gap:.5rem;font-size:.9rem;display:flex}.checkbox-row input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--cyan-dark)}.site-admin-photos{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;display:grid}.site-admin-photo-card{background:var(--sand);border-radius:var(--radius);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.site-admin-photo-card>img{aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);background:var(--navy);width:100%}.pricing-rules-list,.pricing-rule-card{flex-direction:column;gap:.75rem;display:flex}.admin-grid-2{gap:1rem;display:grid}@media (width>=900px){.admin-grid-2{grid-template-columns:1fr 1fr}}.admin-grid-3{gap:1rem;display:grid}@media (width>=900px){.admin-grid-3{grid-template-columns:repeat(3,1fr)}}.tagline-row{align-items:flex-end;gap:.75rem;margin-bottom:.5rem;display:flex}.tagline-row .btn{flex-shrink:0;margin-bottom:.85rem}.radio-card{border:1px solid var(--sand-dark,#e2e8f0);border-radius:var(--radius);cursor:pointer;align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.radio-card input{flex-shrink:0;margin-top:.2rem}.radio-card strong{color:var(--navy);margin-bottom:.25rem;display:block}.tagline-preview{color:var(--navy);background:var(--sand);border-radius:var(--radius);border-left:4px solid var(--cyan);margin:0 0 1rem;padding:1rem 1.25rem;font-size:1.1rem;font-style:italic}.stack-item-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.75rem;display:flex}.credit-deficit-card__head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;display:flex}.credit-deficit-row{background:#f5a6230f}.shop-admin-grid{grid-template-columns:repeat(auto-fill,minmax(14rem,1fr));gap:1rem;display:grid}.shop-admin-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);flex-direction:column;padding:1.25rem;display:flex}.shop-admin-card h3{font-family:var(--font-display);color:var(--navy);margin:.5rem 0 .25rem;font-size:1rem}.shop-admin-card p{color:var(--text-muted);margin-bottom:.75rem;font-size:.85rem}.shop-admin-card strong{color:var(--cyan-dark);margin-bottom:.75rem;display:block}.shop-admin-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-top:auto;display:flex}.reviews-admin-list{flex-direction:column;gap:1rem;display:flex}.review-admin-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:1.25rem}.review-admin-head{justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.5rem;display:flex}.review-admin-ratings{color:var(--navy);flex-wrap:wrap;gap:1rem;margin-bottom:.5rem;font-size:.85rem;display:flex}.review-admin-comment{margin:0 0 .5rem;font-size:.9rem;line-height:1.5}.config-hub-grid{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;display:grid}.config-hub-card-wrap{position:relative}.config-hub-card-wrap .help-hint-btn{z-index:2;position:absolute;top:.65rem;right:.65rem}.config-hub-card{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow);color:inherit;padding:1.25rem;text-decoration:none;transition:box-shadow .15s;display:block}.config-hub-card:hover{box-shadow:var(--shadow-lg,0 4px 16px #1524561f)}.config-hub-card strong{font-family:var(--font-display);color:var(--navy);margin-bottom:.35rem;display:block}.config-hub-card p{color:var(--text-muted);margin:0;font-size:.85rem;line-height:1.45}.help-hint-btn{border:1px solid var(--text-muted);background:var(--white);width:1.15rem;height:1.15rem;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;padding:0;font-size:.65rem;font-weight:700;line-height:1}.help-hint-btn:hover{border-color:var(--cyan-dark);color:var(--cyan-dark)}.help-hint-backdrop{z-index:10000;background:#0f233759;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.help-hint-panel{background:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg,0 8px 32px #00000026);width:100%;max-width:22rem;padding:1.25rem}.help-hint-panel__head{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.help-hint-panel__head h3{font-family:var(--font-display);color:var(--navy);margin:0;font-size:1rem}.help-hint-panel__close{cursor:pointer;color:var(--text-muted);background:0 0;border:none;padding:0 .25rem;font-size:1.35rem;line-height:1}.help-hint-panel__body{color:var(--text-muted);margin:0 0 1rem;font-size:.9rem;line-height:1.5}.config-subnav{flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem;display:flex}.config-subnav a{background:var(--white);color:var(--navy);box-shadow:var(--shadow);border-radius:999px;padding:.45rem .85rem;font-size:.8rem;font-weight:600;text-decoration:none}.config-subnav a.active{background:var(--navy);color:var(--white)}[data-sonner-toaster]{z-index:10000}.app-toast{max-width:min(92vw,420px)}.wave-panel__header{margin-bottom:1rem}.wave-panel__title{font-family:var(--font-display);color:var(--navy);margin:0;font-size:1.05rem}.wave-panel__timestamp{color:var(--text-muted);text-transform:uppercase;letter-spacing:.02em;margin:.25rem 0 0;font-size:.8rem}.wave-panel__metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}@media (width>=640px){.wave-panel__metrics{grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,1.2fr)}}.wave-panel__metric{text-align:center}.wave-panel__metric-label{color:var(--text-muted);margin:.5rem 0 .15rem;font-size:.75rem}.wave-panel__metric-value{color:var(--navy);margin:0;font-size:.95rem;font-weight:600}.wave-panel__compass{border:2px solid var(--sand-dark);background:radial-gradient(circle,#eef6ff 0%,#fff 70%);border-radius:50%;width:4rem;height:4rem;margin:0 auto;position:relative}.wave-panel__compass-arrow{background:linear-gradient(to top, transparent 45%, var(--cyan) 45%, var(--cyan-dark) 100%);clip-path:polygon(50% 0%,62% 78%,50% 62%,38% 78%);transform-origin:50% 62%;position:absolute;inset:.65rem}.wave-panel__height-icon{width:4rem;height:4rem;color:var(--navy);background:linear-gradient(#dbeafe 0%,#93c5fd 100%);border-radius:50%;justify-content:center;align-items:center;margin:0 auto;font-size:.85rem;font-weight:700;display:flex}.wave-panel__period-gauge{border:3px solid var(--sand-dark);border-top-color:var(--ok);border-right-color:#eab308;border-bottom-color:var(--attention);border-radius:50%;width:4rem;height:4rem;margin:0 auto;position:relative}.wave-panel__period-gauge--good{border-top-color:var(--ok)}.wave-panel__period-gauge--fair{border-top-color:#eab308}.wave-panel__period-gauge--poor{border-top-color:var(--attention)}.wave-panel__period-needle{background:var(--navy);clip-path:polygon(50% 0%,58% 100%,50% 82%,42% 100%);transform-origin:50% 82%;transform:rotate(calc((var(--period,8) - 6) * 12deg));position:absolute;inset:.9rem}.wave-panel__winds{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (width>=640px){.wave-panel__winds{grid-column:auto;grid-template-columns:1fr}}.wave-panel__wind-box{border-radius:var(--radius);padding:.65rem .75rem;font-size:.85rem}.wave-panel__wind-box--coast{background:#fff7ed;border:1px solid #fed7aa}.wave-panel__wind-box--sea{background:#eff6ff;border:1px solid #bfdbfe}.wave-panel__wind-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin:0 0 .25rem;font-size:.7rem}.wave-panel__wind-direction{color:var(--navy);margin:0;font-weight:600}.wave-panel__wind-speed{color:var(--text-muted);margin:.15rem 0 0}.wave-panel__heights{border-top:1px solid var(--sand-dark);grid-template-columns:1fr;gap:.75rem;padding-top:1rem;display:grid}@media (width>=768px){.wave-panel__heights{grid-template-columns:repeat(3,1fr)}}.wave-panel__height-card{text-align:center}.wave-panel__height-badge{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;margin:0 auto .5rem;font-size:.8rem;font-weight:700;display:flex}.wave-panel__height-badge--frequent{background:#3b82f6}.wave-panel__height-badge--significant{background:#2563eb}.wave-panel__height-badge--max{background:#dc2626}.wave-panel__height-title{color:var(--navy);margin:0 0 .35rem;font-size:.85rem;font-weight:600}.wave-panel__height-desc{color:var(--text-muted);margin:0;font-size:.75rem;line-height:1.4}.wave-panel__swell{color:var(--navy-mid);margin:1rem 0 0;font-size:.85rem}.wave-panel__tides{border-top:1px solid var(--sand-dark);margin-top:1rem;padding-top:1rem}.wave-panel__tides-title{color:var(--navy);margin:0 0 .5rem;font-size:.9rem}.wave-panel__tides-table{width:100%;font-size:.85rem}.wave-panel__tides-table td{padding:.35rem 0}.wave-panel__tides-table td:last-child{text-align:right}.wave-panel__sources{color:var(--text-muted);margin:.75rem 0 0;font-size:.72rem}@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}@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-pan-x{syntax:"*";inherits:false}@property --tw-pan-y{syntax:"*";inherits:false}@property --tw-pinch-zoom{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-x-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}
