@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking: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-duration:initial;--tw-ease:initial;--tw-space-x-reverse:0}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-500:oklch(63.7% .237 25.331);--color-emerald-50:oklch(97.9% .021 166.113);--color-emerald-100:oklch(95% .052 163.051);--color-emerald-200:oklch(90.5% .093 164.15);--color-emerald-400:oklch(76.5% .177 163.223);--color-emerald-600:oklch(59.6% .145 163.225);--color-emerald-700:oklch(50.8% .118 165.612);--color-emerald-800:oklch(43.2% .095 166.913);--color-emerald-900:oklch(37.8% .077 168.94);--color-slate-50:oklch(98.4% .003 247.858);--color-slate-100:oklch(96.8% .007 247.896);--color-slate-200:oklch(92.9% .013 255.508);--color-slate-400:oklch(70.4% .04 256.788);--color-slate-500:oklch(55.4% .046 257.417);--color-slate-600:oklch(44.6% .043 257.281);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-800:oklch(27.9% .041 260.031);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--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: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-widest:.1em;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--shadow-xs:0 1px 2px 0 #0000000d;--shadow-sm:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 20px 25px -5px #0000001a, 0 8px 10px -6px #0000001a;--ease-in-out:cubic-bezier(.4, 0, .2, 1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing) * 0)}.inset-x-0{inset-inline:calc(var(--spacing) * 0)}.inset-y-0{inset-block:calc(var(--spacing) * 0)}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.top-4{top:calc(var(--spacing) * 4)}.top-\[50\%\]{top:50%}.top-full{top:100%}.right-0{right:calc(var(--spacing) * 0)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-1{bottom:calc(var(--spacing) * 1)}.left-0{left:calc(var(--spacing) * 0)}.left-2{left:calc(var(--spacing) * 2)}.left-\[50\%\]{left:50%}.z-30{z-index:30}.z-50{z-index:50}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.-mx-1{margin-inline:calc(var(--spacing) * -1)}.my-1{margin-block:calc(var(--spacing) * 1)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-\[1px\]{height:1px}.h-full{height:100%}.h-px{height:1px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.min-h-0{min-height:calc(var(--spacing) * 0)}.w-2{width:calc(var(--spacing) * 2)}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-3\/4{width:75%}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-10{width:calc(var(--spacing) * 10)}.w-64{width:calc(var(--spacing) * 64)}.w-\[1px\]{width:1px}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.min-w-\[8rem\]{min-width:8rem}.flex-1{flex:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:--radix-dropdown-menu-content-transform-origin}.translate-x-\[-50\%\]{--tw-translate-x:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[-50\%\]{--tw-translate-y:-50%;translate:var(--tw-translate-x) var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.touch-none{touch-action:none}.resize{resize:both}.resize-none{resize:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.place-content-center{place-content:center}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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-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)))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-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-emerald-200{border-color:var(--color-emerald-200)}.border-slate-200{border-color:var(--color-slate-200)}.border-transparent{border-color:#0000}.border-white\/50{border-color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.border-white\/50{border-color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab,red,red)){.bg-black\/80{background-color:color-mix(in oklab,var(--color-black) 80%,transparent)}}.bg-emerald-50{background-color:var(--color-emerald-50)}.bg-emerald-200{background-color:var(--color-emerald-200)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-slate-50{background-color:var(--color-slate-50)}.bg-slate-200{background-color:var(--color-slate-200)}.bg-white{background-color:var(--color-white)}.fill-current{fill:currentColor}.p-1{padding:calc(var(--spacing) * 1)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-\[1px\]{padding:1px}.px-1{padding-inline:calc(var(--spacing) * 1)}.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-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.pt-0{padding-top:calc(var(--spacing) * 0)}.pr-1{padding-right:calc(var(--spacing) * 1)}.pr-2{padding-right:calc(var(--spacing) * 2)}.pb-20{padding-bottom:calc(var(--spacing) * 20)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--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-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.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)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.text-current{color:currentColor}.text-emerald-700{color:var(--color-emerald-700)}.text-emerald-800{color:var(--color-emerald-800)}.text-emerald-900{color:var(--color-emerald-900)}.text-red-500{color:var(--color-red-500)}.text-slate-400{color:var(--color-slate-400)}.text-slate-500{color:var(--color-slate-500)}.text-slate-600{color:var(--color-slate-600)}.text-slate-700{color:var(--color-slate-700)}.text-slate-800{color:var(--color-slate-800)}.text-white{color:var(--color-white)}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a), 0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}@media(hover:hover){.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}}.group-\[\.toaster\]\:shadow-lg:is(:where(.group).toaster *){--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a), 0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.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-slate-400::placeholder{color:var(--color-slate-400)}@media(hover:hover){.hover\:bg-emerald-50:hover{background-color:var(--color-emerald-50)}.hover\:bg-emerald-100:hover{background-color:var(--color-emerald-100)}.hover\:bg-emerald-700:hover{background-color:var(--color-emerald-700)}.hover\:bg-slate-100:hover{background-color:var(--color-slate-100)}.hover\:text-emerald-700:hover{color:var(--color-emerald-700)}.hover\:text-slate-800:hover{color:var(--color-slate-800)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}}.focus\:border-emerald-400:focus{border-color:var(--color-emerald-400)}.focus\:ring-2:focus{--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\:ring-emerald-200:focus{--tw-ring-color:var(--color-emerald-200)}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.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-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.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}.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=closed\]\:duration-300[data-state=closed]{--tw-duration:.3s;transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{--tw-duration:.5s;transition-duration:.5s}@media(min-width:40rem){.sm\:max-w-sm{max-width:var(--container-sm)}.sm\:flex-row{flex-direction:row}.sm\:justify-end{justify-content:flex-end}:where(.sm\:space-x-2>:not(:last-child)){--tw-space-x-reverse:0;margin-inline-start:calc(calc(var(--spacing) * 2) * var(--tw-space-x-reverse));margin-inline-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-x-reverse)))}.sm\:rounded-lg{border-radius:var(--radius-lg)}.sm\:text-left{text-align:left}}@media(min-width:48rem){.md\:p-6{padding:calc(var(--spacing) * 6)}.md\:pb-0{padding-bottom:calc(var(--spacing) * 0)}.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}@media(min-width:64rem){.lg\:p-8{padding:calc(var(--spacing) * 8)}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}}:root{--raw-color-1:#1a2721;--raw-color-2:#3f7b63;--raw-color-3:#6b7280;--raw-color-4:#e5e7eb;--raw-color-5:#f4f7f5;--raw-white:#fff;--raw-off-white:#f4f7f5;--raw-danger:#dc2626;--raw-danger-light:#fee2e2;--raw-danger-dark:#991b1c;--raw-success:#16a34a;--raw-success-light:#dcfce7;--raw-warning:#d97706;--raw-warning-light:#fef3c7;--raw-info:#2563eb;--raw-info-light:#dbeafe;--bg-app:var(--raw-off-white);--bg-card:var(--raw-white);--bg-card-hover:#edf1ee;--bg-hover:#e8ece9;--text-main:var(--raw-color-1);--text-muted:#4b5563;--text-placeholder:#6b7280;--text-on-primary:var(--raw-white);--brand-primary:var(--raw-color-2);--brand-primary-hover:var(--raw-color-1);--brand-primary-light:#e8f4ef;--border-light:var(--raw-color-5);--border-strong:var(--raw-color-4);--status-error:var(--raw-danger);--status-error-light:var(--raw-danger-light);--status-error-dark:var(--raw-danger-dark);--status-success:var(--raw-success);--status-success-light:var(--raw-success-light);--status-warning:var(--raw-warning);--status-warning-light:var(--raw-warning-light);--status-info:var(--raw-info);--status-info-light:var(--raw-info-light);--bg-glass:#ffffffe0;--bg-glass-strong:#ffffffeb;--bg-overlay:#0f172a8c;--bg-bubble-mine:#dcf8c6;--bg-bubble-other:#fff;--bg-page-diary:#fdfbf7;--border-input:#cbd5e1;--border-glass:#fff9;--focus-ring-color:#3f7b6326;--focus-ring:0 0 0 3px var(--focus-ring-color);--text-disabled:#9ca3af;--text-on-danger:#fff;--text-on-success:#fff;--log-bg:#1a1a2e;--log-text:#e2e8f0;--log-error:#f87171;--log-warn:#fbbf24;--log-info:#60a5fa;--log-muted:#9ca3af;--radius-xs:4px;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:28px;--radius-full:9999px;--shadow-xs:0 1px 2px #1a27210a;--shadow-sm:0 2px 4px #1a27210d;--shadow-md:0 4px 12px #1a272114;--shadow-lg:0 8px 24px #1a27211a;--shadow-hover:0 10px 20px #1a27211f;--shadow-xl:0 16px 40px #1a272124;--space-xs:4px;--space-sm:8px;--space-md:12px;--space-lg:16px;--space-xl:24px;--space-2xl:32px;--space-3xl:48px;--font-family:"Plus Jakarta Sans", sans-serif;--font-diary:"Kalam", cursive;--font-size-xs:.75rem;--font-size-sm:.85rem;--font-size-base:.9375rem;--font-size-md:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--transition-fast:.15s ease;--transition-base:.2s ease;--transition-slow:.3s ease;--transition-bounce:.3s cubic-bezier(.4, 0, .2, 1);--z-base:1;--z-above:2;--z-sticky:10;--z-dropdown:100;--z-header:200;--z-drawer:500;--z-overlay:900;--z-modal:1000;--z-dialog:1100;--z-lightbox:2000;--z-toast:3000;--z-max:9999;--touch-target-min:44px;--bg-image:url(/bg-hero.jpg);--color-primary:var(--brand-primary);--color-primary-hover:var(--brand-primary-hover);--color-primary-dark:var(--brand-primary-hover);--color-primary-light:var(--raw-color-4);--color-primary-lighter:var(--raw-color-5);--color-primary-bg:var(--brand-primary-light);--color-primary-gradient:linear-gradient(135deg, var(--raw-color-4) 0%, var(--raw-color-2) 100%);--color-primary-gradient-hover:linear-gradient(135deg, var(--raw-color-3) 0%, var(--raw-color-1) 100%);--color-accent:var(--raw-color-4);--color-accent-light:var(--raw-color-5);--color-accent-bg:var(--brand-primary-light);--color-danger:var(--status-error);--color-danger-hover:var(--status-error-dark);--color-danger-dark:var(--status-error-dark);--color-danger-light:var(--status-error-light);--color-danger-bg:var(--status-error-light);--color-danger-text:var(--status-error-dark);--color-success:var(--status-success);--color-success-hover:#15803d;--color-success-dark:#15803d;--color-success-bg:var(--status-success-light);--color-success-text:#14532d;--color-warning:var(--status-warning);--color-warning-hover:#b45309;--color-warning-bg:var(--status-warning-light);--color-warning-text:#78350f;--color-warning-border:#fcd34d;--color-info:var(--status-info);--color-info-hover:#1d4ed8;--color-info-dark:#1d4ed8;--color-info-bg:var(--status-info-light);--color-info-text:#1e3a8a;--color-text:var(--text-main);--color-text-main:var(--text-main);--color-text-dark:var(--raw-color-1);--color-text-light:var(--text-muted);--color-text-muted:var(--text-muted);--color-bg:var(--bg-card);--color-bg-main:var(--bg-app);--color-bg-card:var(--bg-card);--color-bg-alt:var(--raw-off-white);--color-bg-hover:var(--bg-hover);--color-bg-warm:var(--raw-off-white);--color-border:var(--border-light);--color-border-light:var(--border-light);--color-border-dark:var(--border-strong)}[data-theme=mountain]{--raw-color-1:#2c1810;--raw-color-2:#8b4513;--raw-color-3:#6b7280;--raw-color-4:#e8ddd3;--raw-color-5:#faf6f1;--raw-off-white:#faf6f1;--brand-primary:#8b4513;--brand-primary-hover:#6d350f;--brand-primary-light:#f3e8dc}[data-theme=lake]{--raw-color-1:#0c1b33;--raw-color-2:#1a5276;--raw-color-3:#5b7fa5;--raw-color-4:#c6ddf0;--raw-color-5:#eef4fa;--raw-off-white:#eef4fa;--brand-primary:#1a5276;--brand-primary-hover:#154360;--brand-primary-light:#d6eaf8}*{box-sizing:border-box;margin:0;padding:0}body,button,input,textarea,select{font-family:var(--font-family)}input,textarea,select{color:var(--text-main,#1a2721)}html,body{background-color:var(--bg-app,#f4f7f5);min-height:100vh;margin:0}input,textarea,[contenteditable=true]{caret-color:auto}:focus:not(:focus-visible){outline:none}button,a,label,select,[role=button],[role=tab],.btn,nav{-webkit-user-select:none;user-select:none}::placeholder{color:var(--text-placeholder,#9ca3af);opacity:1;transition:opacity .2s,color .2s}input:focus::placeholder,textarea:focus::placeholder{opacity:0;color:#0000}body{background:url(/bg-hero.jpg) 50%/cover no-repeat fixed;background-image:var(--bg-image);color:var(--color-text);z-index:0;justify-content:center;align-items:flex-start;padding:0;line-height:1.6;display:flex;position:relative}body:before{content:"";z-index:-1;background:linear-gradient(#fdf8f04d,#00000040 60%,#0006);position:absolute;inset:0}.app-wrapper{flex-direction:column;align-items:center;width:100%;min-height:100vh;display:flex}@media(max-width:768px){body{padding:0}}.hidden{display:none!important}.skip-to-content{z-index:var(--z-max,9999);background:var(--brand-primary,#3f7b63);color:#fff;border-radius:var(--radius-md);padding:8px 20px;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-100%;left:50%;transform:translate(-50%)}.skip-to-content:focus{top:8px}.page-card{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-xl);background:#ffffffeb;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden;box-shadow:0 8px 32px #00000014,0 1px 3px #0000000a}.not-found-page{min-height:100vh;padding:var(--space-2xl);justify-content:center;align-items:center;display:flex}.not-found-content{text-align:center;max-width:420px}.not-found-icon{margin-bottom:var(--space-lg);font-size:5rem;line-height:1}.not-found-title{font-size:var(--font-size-3xl);margin-bottom:var(--space-sm);color:var(--text-main);font-weight:700}.not-found-text{color:var(--text-muted);margin-bottom:var(--space-2xl);font-size:var(--font-size-base);line-height:1.6}img,.calendar-container,.flatpickr-calendar{max-width:100%}.error-message{color:var(--status-error);font-size:var(--font-size-xs);margin-top:var(--space-xs);opacity:0;min-height:0;transition:opacity .2s ease-in-out,min-height .2s ease-in-out;display:block;overflow:hidden}.error-message.show{opacity:1;min-height:16px}.input-error{outline:none;box-shadow:0 0 0 2px #ef444433;border-color:var(--status-error)!important;background-color:var(--status-error-light)!important}.btn-loading-dots{vertical-align:middle;align-items:center;gap:3px;margin-left:6px;display:inline-flex}.btn-loading-dots span{opacity:.7;background:currentColor;border-radius:50%;width:4px;height:4px;animation:1.2s ease-in-out infinite btn-dot-pulse;display:inline-block}.btn-loading-dots span:nth-child(2){animation-delay:.2s}.btn-loading-dots span:nth-child(3){animation-delay:.4s}@keyframes btn-dot-pulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.shake{animation:.4s cubic-bezier(.36,.07,.19,.97) both shake}@keyframes shake{10%,90%{transform:translate(-1px)}20%,80%{transform:translate(2px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}.message{text-align:center;margin-top:10px;font-weight:500}.empty-state{padding:var(--space-3xl);text-align:center;color:var(--color-text-muted);font-size:var(--font-size-lg);flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.empty-state-icon{margin-bottom:var(--space-md);color:var(--color-text-disabled,#9ca3af);opacity:.5;line-height:1;display:block}.empty-state-icon svg{pointer-events:none;display:block}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border,#d1d5db);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted,#9ca3af)}::-webkit-scrollbar-corner{background:0 0}*{scrollbar-width:thin;scrollbar-color:var(--color-border,#d1d5db) transparent}.modal-content::-webkit-scrollbar{width:4px}.column-content::-webkit-scrollbar{width:4px}.shopping-items-list::-webkit-scrollbar{width:4px}.modal-content::-webkit-scrollbar-thumb{background:var(--color-border-light,#e5e7eb)}.column-content::-webkit-scrollbar-thumb{background:var(--color-border-light,#e5e7eb)}.shopping-items-list::-webkit-scrollbar-thumb{background:var(--color-border-light,#e5e7eb)}.modal-content::-webkit-scrollbar-thumb:hover{background:var(--color-border,#d1d5db)}.column-content::-webkit-scrollbar-thumb:hover{background:var(--color-border,#d1d5db)}.shopping-items-list::-webkit-scrollbar-thumb:hover{background:var(--color-border,#d1d5db)}.spinner{border:4px solid var(--border-light);border-top:4px solid var(--color-primary);width:40px;height:40px;margin-bottom:var(--space-lg);border-radius:50%;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.spinner-container{padding:var(--space-3xl);justify-content:center;align-items:center;display:flex}.loading-overlay{z-index:50;border-radius:var(--radius-xl);width:100%;height:100%;color:var(--color-primary);background-color:#ffffffe6;flex-direction:column;justify-content:center;align-items:center;font-weight:600;display:flex;position:absolute;top:0;left:0}.login-container,.register-container{box-sizing:border-box;width:400px;max-width:95vw;margin:20px auto;animation:.35s cubic-bezier(.16,1,.3,1) both auth-card-in;-webkit-backdrop-filter:blur(16px)!important;border:1px solid var(--border-glass)!important;background:#ffffffd9!important;border-radius:24px!important;height:auto!important;min-height:0!important;padding:28px 32px!important;transition:none!important;transform:none!important;box-shadow:0 25px 50px -12px #00000040,0 8px 20px #00000014!important}.login-container:hover,.register-container:hover{transform:none!important;box-shadow:0 25px 50px -12px #00000040,0 8px 20px #00000014!important}@keyframes auth-card-in{0%{opacity:0;transform:translateY(20px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-brand{flex-direction:column;align-items:center;gap:6px;margin-bottom:2px;display:flex}.auth-brand-text{color:var(--text-main,#111827);letter-spacing:-.03em;margin:0;font-size:1.3rem;font-weight:800;line-height:1}.auth-subtitle{text-align:center;color:var(--color-text-light,#6b7280);margin-top:4px;margin-bottom:16px;font-size:.85rem}.login-container .form-group,.register-container .form-group{margin-bottom:12px}.login-container label,.register-container label{color:var(--text-main,#374151);letter-spacing:.01em;margin-bottom:4px;font-size:.8rem;font-weight:500;display:block}.login-container input:not([type=checkbox]):not([type=hidden]),.register-container input:not([type=checkbox]):not([type=hidden]),.login-container select,.register-container select{box-sizing:border-box;width:100%;color:var(--color-text,#111827);background:#ffffffe6;border:1px solid #cbd5e1;border-radius:10px;outline:none;padding:9px 12px;font-family:inherit;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.login-container input:not([type=checkbox]):not([type=hidden]):focus,.register-container input:not([type=checkbox]):not([type=hidden]):focus,.login-container select:focus,.register-container select:focus{border-color:var(--color-primary,#5d9b62);box-shadow:var(--focus-ring);background:var(--bg-card)}.login-container .button-primary,.register-container .button-primary{border-radius:10px;width:100%;margin-top:4px;padding:12px;font-size:.95rem;font-weight:600;transition:background .15s,transform .1s,box-shadow .15s;box-shadow:0 2px 8px #5d9b624d}.login-container .button-primary:hover,.register-container .button-primary:hover{transform:translateY(-1px);box-shadow:0 4px 14px #5d9b6266}.app-container{flex-direction:column;gap:0;width:100%;max-width:1400px;height:100dvh;margin:0 auto;padding:0 20px 20px;display:flex;overflow:hidden}#page-container{flex-direction:column;flex-grow:1;width:100%;min-height:0;padding-top:20px;display:flex;overflow:hidden}.main-content{flex-direction:row;flex-grow:1;gap:20px;width:100%;min-height:0;display:flex}.card{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm);flex-direction:column;height:auto;min-height:50vh;transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s cubic-bezier(.4,0,.2,1),border-color .2s;display:flex;overflow:visible}@media(hover:hover){.card:hover{border-color:var(--border-strong);transform:translateY(-3px);box-shadow:0 10px 25px -5px #00000014,0 8px 10px -6px #0000000a}.card:active{box-shadow:var(--shadow-sm);transform:translateY(-1px)scale(.995)}.card.no-lift:hover,#reservations-list:hover,#reservation-detail:hover{box-shadow:var(--shadow-sm);border-color:var(--color-border);transform:none}}@media(max-width:480px){.login-container,.register-container{border-radius:20px!important;max-width:calc(100vw - 32px)!important;margin:20px auto!important;padding:28px 24px!important}.auth-brand-text{font-size:1.3rem}}@media(max-width:768px){body{background-color:var(--bg-app,#f4f7f5)}.app-container{background-color:var(--bg-app,#f4f7f5);height:auto;min-height:100dvh;padding:0;overflow:visible}#page-container{flex-grow:0;overflow:visible;padding-top:64px!important;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}.main-content{gap:var(--space-md);flex-direction:column}.card{padding:var(--space-lg);border-radius:var(--radius-xl);background-color:var(--bg-card)!important;border:1px solid var(--border-strong,#e5e7eb)!important;box-shadow:0 4px 6px -1px #00000014,0 2px 4px -1px #0000000a!important}}@media(max-height:800px)and (min-width:769px){.app-container{height:auto;min-height:100dvh;overflow:visible}#page-container{overflow:hidden auto}}#login-error,.error-message{background:var(--status-error-light);color:var(--status-error);border:1px solid #fca5a5;border-radius:8px;margin-top:12px;padding:10px 14px;font-size:.875rem;font-weight:500;line-height:1.5;display:none}#register-message{text-align:center;margin-top:10px;padding:8px 0 0;font-size:.85rem;line-height:1.45;display:none}.toggle-form-text{text-align:center;margin-top:var(--space-lg);font-size:var(--font-size-sm);color:var(--text-muted)}.toggle-form-text a{color:var(--color-primary,#5d9b62);font-weight:600;text-decoration:none}.toggle-form-text a:hover{text-decoration:underline}.input-eye-wrapper{position:relative}.input-eye-wrapper input{padding-right:40px}.toggle-password{cursor:pointer;color:var(--color-text-muted);position:absolute;top:50%;right:10px;transform:translateY(-50%)}.toggle-password:hover{color:var(--color-text)}.remember-me-group{margin-top:var(--space-xs)}.remember-me-label{align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-light);-webkit-user-select:none;user-select:none;display:flex}.remember-me-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--color-primary);cursor:pointer}.top-bar{justify-content:space-between;align-items:center;gap:var(--space-xl);padding:10px var(--space-xl);background:var(--bg-glass);border-radius:var(--radius-xl);border:1px solid var(--border-glass);z-index:var(--z-dropdown);flex-shrink:0;margin:20px 0 0;display:flex;box-shadow:0 4px 16px #0000000d,0 1px #00000008}.nav-left-group{align-items:center;gap:32px;display:flex}.brand-logo-lockup{flex-shrink:0;align-items:center;text-decoration:none;display:flex;box-shadow:none!important;background:0 0!important;border:none!important;outline:none!important}.nav-logo-icon{object-fit:contain;opacity:.85;width:auto;height:24px;transition:opacity .2s;box-shadow:none!important;border:none!important;outline:none!important}.nav-logo-icon:hover{opacity:1}.auth-brand{flex-direction:column;align-items:center;margin-bottom:24px;display:flex}.auth-logo-icon{width:auto;height:48px}.auth-brand-text{color:var(--text-main,#1f2937);letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}.auth-subtitle{text-align:center;color:var(--color-text-light,#6b7280);margin:0 0 1.5rem;font-size:.95rem;font-weight:500}.app-nav{align-items:center;gap:24px;display:flex}.app-nav .nav-link{color:var(--text-muted);font-weight:500;font-size:var(--font-size-base);white-space:nowrap;padding:4px 0;text-decoration:none;transition:color .2s;position:relative}.app-nav .nav-link:after{content:"";background-color:var(--color-primary);transform-origin:50%;border-radius:2px 2px 0 0;width:100%;height:2px;transition:transform .3s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0;transform:scaleX(0)}.app-nav .nav-link:hover{color:var(--text-main)}.app-nav .nav-link:hover:after{transform:scaleX(1)}.app-nav .nav-link.active{color:var(--color-primary);font-weight:600}.app-nav .nav-link.active:after{transform:scaleX(1)}.user-info{flex-shrink:0;align-items:center;gap:10px;padding:0;display:flex;position:relative}.profile-name{white-space:nowrap;align-items:center;font-size:.875rem;display:flex}.profile-name .greeting{color:var(--text-muted);margin-right:4px;font-weight:400}.profile-name .username{color:var(--text-main);font-weight:600}.user-divider{background-color:var(--border-strong);flex-shrink:0;width:1px;height:20px;margin:0 4px}.nav-icon-btn{cursor:pointer;width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;min-width:var(--touch-target-min);min-height:var(--touch-target-min);color:var(--text-muted);background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .2s,transform .2s,box-shadow .2s,color .2s;display:flex}.nav-icon-btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.nav-avatar{background:var(--color-primary-bg);width:36px;min-width:36px;max-width:36px;height:36px;min-height:36px;max-height:36px;color:var(--color-primary-dark);border:2px solid #fffc;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;font-weight:700;line-height:1;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 1px 4px #00000014}.nav-profile-btn:hover .nav-avatar{transform:scale(1.08);box-shadow:0 2px 10px #0000001f}.nav-dropdown-trigger{cursor:pointer;border-radius:var(--radius-md);background:0 0;border:none;align-items:center;gap:8px;padding:4px 8px;transition:background .2s;display:flex}.nav-dropdown-trigger:hover{background:#0000000a}.nav-dropdown-arrow{color:var(--text-muted);margin-left:2px;font-size:.65rem;transition:transform .2s}.nav-dropdown-trigger.active .nav-dropdown-arrow{transform:rotate(180deg)}.nav-dropdown-menu{background:var(--bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border-light,#e5e7eb);width:220px;z-index:var(--z-drawer);transform-origin:100% 0;padding:8px 0;animation:.2s cubic-bezier(.16,1,.3,1) dropdownFadeIn;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}@keyframes dropdownFadeIn{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.nav-dropdown-item{width:100%;color:var(--color-text,#1f2937);text-align:left;cursor:pointer;background:0 0;border:none;align-items:center;padding:10px 16px;font-family:inherit;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex}.nav-dropdown-item:hover{background:var(--color-bg-secondary,#f3f4f6);color:var(--color-primary,#3f7b63)}.nav-dropdown-separator{background:var(--color-border-light,#e5e7eb);height:1px;margin:6px 0}.nav-dropdown-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted,#9ca3af);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:220px;padding:6px 14px 4px;font-size:.7rem;font-weight:600;overflow:hidden}.mobile-header{display:none}.mobile-header-logo{align-items:center;gap:8px;text-decoration:none;display:flex}.mobile-header-logo-img{border-radius:4px;width:auto;height:22px}.mobile-header-logo-text{color:var(--color-text,#111827);letter-spacing:-.02em;font-size:1rem;font-weight:700;line-height:1}.mobile-menu-trigger{border:1px solid var(--color-border-light,#e5e7eb);background:var(--color-bg-alt,#f3f4f6);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .15s,transform .1s;display:flex;overflow:hidden}.mobile-menu-trigger:active{background:var(--color-border-light,#e5e7eb);transform:scale(.93)}.mobile-menu-trigger img{width:100%;height:100%;display:block}.mobile-menu-avatar{justify-content:center;align-items:center;width:20px;height:20px;font-size:16px;line-height:1;display:flex}.mobile-nav{display:none!important}@media(max-width:768px){.mobile-header{height:56px;padding:0 16px;padding-top:env(safe-area-inset-top,0px);z-index:2000;box-sizing:border-box;background:#fff;border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.app-nav,.top-bar{display:none!important}.user-info{padding:0 var(--space-md);gap:var(--space-sm)}.mobile-nav{z-index:var(--z-sticky);background:var(--bg-glass-strong);padding:4px 0;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px));border-top:1px solid #0000000d;justify-content:space-around;align-items:center;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000000a;display:flex!important}.mobile-nav-link{color:var(--color-text-muted);border-radius:var(--radius-md);min-height:44px;transition:color var(--transition-fast),background var(--transition-fast);-webkit-tap-highlight-color:transparent;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;padding:6px 4px;font-size:.7rem;font-weight:500;text-decoration:none;display:flex}.mobile-nav-link.active{color:var(--color-primary);background:var(--color-primary-bg);font-weight:600}#page-container{padding-top:64px!important;padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important}}.form-input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=tel],textarea,select,input[type=date]{box-sizing:border-box;background-color:var(--bg-card);width:100%;min-height:40px;color:var(--text-main,#1a2721);border-radius:var(--radius-md);line-height:normal;font-family:var(--font-family);font-size:var(--font-size-sm);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none;outline:none;padding:9px 12px;border:1px solid var(--border-input)!important}textarea{min-height:90px;padding:var(--space-md);resize:vertical;line-height:1.5}.form-input::placeholder,input::placeholder,textarea::placeholder{color:var(--color-text-muted);opacity:.7}.form-input:focus,input:focus,textarea:focus,select:focus{box-shadow:var(--focus-ring);outline:none;border-color:var(--color-primary)!important}.form-input:disabled,input:disabled,textarea:disabled,select:disabled{background-color:var(--color-bg-main);color:var(--color-text-muted);cursor:not-allowed}.form-section-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted,#6b7280);border-bottom:1px solid var(--border-light,#00000014);margin:16px 0 10px;padding:0 0 6px;font-size:.7rem;font-weight:700}.form-section-label:first-of-type{margin-top:0}.form-divider{border:none;height:0;margin:8px 0 0}.form-group{margin-bottom:16px}.form-group label{color:var(--text-main,#374151);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.color-picker-swatches{flex-wrap:wrap;gap:10px;padding:4px 0;display:flex}.color-picker-swatches .color-swatch{cursor:pointer;background:0 0;border:2px solid #0000;border-radius:50%;outline:none;flex-shrink:0;width:28px;height:28px;padding:0;transition:transform .2s,border-color .2s,box-shadow .2s;position:relative}.color-picker-swatches .color-swatch:hover{transform:scale(1.15);box-shadow:0 2px 8px #0000002e}.color-picker-swatches .color-swatch:focus-visible{outline:2px dashed var(--color-primary,#5d9b62);outline-offset:3px}.color-picker-swatches .color-swatch.active{border-color:var(--text-main,#1a2721);transform:scale(1.15);box-shadow:0 2px 10px #00000038}.color-picker-swatches .color-swatch.active:after{content:"✓";color:var(--text-on-primary);text-shadow:0 1px 2px #0006;pointer-events:none;font-size:12px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.input-danger{border:2px solid var(--color-accent-light);color:var(--color-danger-text);text-align:center;letter-spacing:1px;font-weight:700}.input-danger:focus{border-color:var(--color-danger);outline:none;box-shadow:0 0 0 3px #ef444433}.is-invalid{border-color:var(--status-error,#dc2626)!important;background-color:#dc262605!important;box-shadow:0 0 0 3px #dc26261a!important}.is-invalid:focus{border-color:var(--status-error,#dc2626)!important;box-shadow:0 0 0 3px #dc262626!important}.field-error-msg{color:var(--status-error,#dc2626);margin-top:4px;font-size:.75rem;font-weight:500;animation:.18s ease-in-out validationFadeIn;display:block}.form-shake{animation:.4s cubic-bezier(.36,.07,.19,.97) both formShake}@keyframes formShake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(3px)}30%,50%,70%{transform:translate(-4px)}40%,60%{transform:translate(4px)}}@keyframes validationFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}button{cursor:pointer;font-family:var(--font-family);-webkit-user-select:none;user-select:none;outline:none}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn{border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-family);font-weight:600;font-size:var(--font-size-sm);transition:all var(--transition-base);white-space:nowrap;border:1px solid #0000;outline:none;justify-content:center;align-items:center;gap:6px;padding:9px 20px;line-height:1.4;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}button:not(:disabled):active,.btn:not(:disabled):active,.button-primary:not(:disabled):active,.button-secondary:not(:disabled):active,.button-danger:not(:disabled):active,.gallery-btn:not(:disabled):active{transition:transform 60ms!important;transform:scale(.96)translateY(1px)!important}.btn-primary:not(:disabled):active,.btn-danger:not(:disabled):active{transform:scale(.97)translateY(0)!important}.btn-sm{font-size:var(--font-size-xs);padding:6px 14px}.btn-lg{font-size:var(--font-size-base);padding:12px 28px}.btn-primary{background-color:var(--color-primary);color:var(--text-on-primary);border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.btn-primary:hover{background-color:var(--color-primary-hover);border-color:var(--color-primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-primary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-primary:disabled{background-color:var(--color-border);color:var(--color-text-muted);border-color:var(--color-border)}.btn-secondary{background-color:var(--color-bg-card);color:var(--color-text-main);border:1px solid var(--color-border);font-weight:500}.btn-secondary:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-dark)}.btn-secondary:active{background-color:var(--color-border)}.btn-danger{background-color:var(--color-danger);color:var(--text-on-danger);border-color:var(--color-danger)}.btn-danger:hover{background-color:var(--color-danger-hover);border-color:var(--color-danger-hover);transform:translateY(-1px);box-shadow:0 4px 12px #ef444440}.btn-danger:active{transform:translateY(0)}.btn-ghost{color:var(--color-text-muted);background-color:#0000;border-color:#0000;font-weight:500}.btn-ghost:hover{background-color:var(--color-bg-main);color:var(--color-text-main)}.btn-ghost:active{background-color:var(--color-bg-hover)}.btn-outline-primary{color:var(--color-primary);border:1px solid var(--color-primary);background:0 0}.btn-outline-primary:hover{background:var(--color-primary-bg);color:var(--color-primary-hover)}.btn-outline-danger{color:var(--color-danger);border:1px solid var(--color-danger);background:0 0}.btn-outline-danger:hover{background:var(--color-danger-light);color:var(--color-danger-hover)}.btn-success{background-color:var(--color-success);color:var(--text-on-success);border-color:var(--color-success)}.btn-success:hover{background-color:var(--color-success-hover);border-color:var(--color-success-hover)}.btn-icon{border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:8px}.btn-icon:hover{background-color:var(--color-bg-hover);color:var(--color-text-main)}.btn-pill{border-radius:var(--radius-full)}.button-primary{background-color:var(--color-primary);color:var(--text-on-primary);border:none;padding:10px 24px;font-weight:600}.button-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.button-primary:active{transform:scale(.97)translateY(0)}.button-primary:disabled{background-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;transform:none}.button-secondary{background-color:var(--color-bg-card);color:var(--color-text-dark);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.button-secondary:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-dark)}.button-secondary:active{background-color:var(--color-border);transform:scale(.97)translateY(1px)}.button-danger{background-color:var(--color-danger);color:var(--text-on-danger);box-shadow:var(--shadow-sm);border:none}.button-danger:hover{background-color:var(--color-danger-hover);transform:translateY(-1px)}.button-danger:active{transform:scale(.97)translateY(0)}.gallery-btn{justify-content:center;align-items:center;gap:var(--space-sm);border-radius:var(--radius-full);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--color-border);background-color:var(--bg-card);color:var(--color-text);white-space:nowrap;padding:8px 16px;text-decoration:none;display:inline-flex}.gallery-btn:hover{background-color:var(--color-bg-hover);border-color:var(--color-border-dark)}.gallery-btn-primary{background:var(--color-primary);color:var(--text-on-primary);border-color:var(--color-primary)}.gallery-btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:var(--text-on-primary)}.gallery-btn-danger{background:var(--color-danger);color:var(--text-on-danger);border-color:var(--color-danger)}.gallery-btn-danger:hover{background:var(--color-danger-dark);border-color:var(--color-danger-dark);color:var(--text-on-danger)}.gallery-btn-secondary{background-color:var(--bg-card);color:var(--color-text-light);border:1px solid var(--color-border)}.gallery-btn-secondary:hover{background-color:var(--color-bg-alt);border-color:var(--color-border-dark);color:var(--color-text-dark)}.delete-btn{color:var(--color-danger)}.delete-btn:hover{background-color:var(--color-danger-bg);color:var(--color-danger-text)}.btn-ghost-danger{color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:var(--font-size-sm);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;padding:6px 10px;font-weight:500}.btn-ghost-danger:disabled{opacity:.4;cursor:not-allowed}.button-danger.delete-btn,.button-danger.delete-btn:hover{color:var(--text-on-danger)}.modal-unified-overlay{z-index:var(--z-modal,1000);padding:var(--space-lg,16px);background:var(--bg-overlay);-webkit-backdrop-filter:blur(6px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-unified-card{background:var(--bg-card);border-radius:16px;flex-direction:column;width:100%;max-height:90dvh;display:flex;overflow:hidden;box-shadow:0 24px 64px -12px #0003,0 8px 20px -4px #00000014,0 0 0 1px #94a3b814}.modal-unified-header{border-bottom:1px solid var(--color-border-light,#f1f5f9);flex-shrink:0;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.modal-unified-title{color:var(--color-text,#1e293b);margin:0;font-size:1.1rem;font-weight:700;line-height:1.3}.modal-unified-close{width:32px;height:32px;color:var(--color-text-muted,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.modal-unified-close:hover{background:var(--color-bg-alt,#f1f5f9);color:var(--color-text,#1e293b)}.modal-unified-body{flex:auto;min-height:0;padding:24px;overflow-y:auto}.modal-unified-footer{border-top:1px solid var(--color-border-light,#f1f5f9);background:var(--color-bg-secondary,#f8fafc);border-radius:0 0 16px 16px;flex-shrink:0;justify-content:flex-end;align-items:center;gap:8px;padding:16px 24px;display:flex}.modal-unified-footer button,.modal-unified-body .modal-actions button{font-size:var(--font-size-sm,.875rem);border-radius:var(--radius-md,8px);min-height:38px;padding:9px 20px;font-weight:600;line-height:1.4}@media(max-width:640px){.modal-unified-overlay{align-items:flex-end;padding:12px}.modal-unified-card{border-radius:16px 16px 0 0;max-height:92dvh}.modal-unified-header{padding:14px 18px}.modal-unified-body{padding:18px}.modal-unified-footer{padding:14px 18px}}.drawer-overlay{width:100%;height:100%;z-index:var(--z-modal);background-color:#0009;justify-content:flex-end;align-items:stretch;display:flex;position:fixed;top:0;left:0}.drawer-content{background:var(--color-bg);flex-direction:column;width:450px;max-width:100%;height:100%;animation:.3s ease-out slide-in-right;display:flex;overflow:hidden;box-shadow:-5px 0 25px #0000004d}@keyframes slide-in-right{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{padding:var(--space-xl);border-bottom:1px solid var(--color-border);background:var(--bg-card);justify-content:space-between;align-items:center;display:flex}.drawer-header h2{color:var(--color-text-dark);margin:0;font-size:1.5rem}.close-drawer{cursor:pointer;color:var(--color-text-light);background:0 0;border:none;font-size:2rem;line-height:1}.close-drawer:hover{color:var(--color-text-dark)}.drawer-body{padding:var(--space-xl);gap:var(--space-xl);flex-direction:column;flex:1;display:flex;overflow-y:auto}.segmented-control{background:var(--color-bg-alt);border-radius:var(--radius-lg);padding:4px;display:flex}.segmented-btn{padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;background:0 0;border:none;flex:1;font-weight:600;transition:all .2s}.segmented-btn.active{background:var(--bg-card);color:var(--color-text-dark);box-shadow:var(--shadow-sm)}.drawer-tab-content{gap:var(--space-xl);flex-direction:column;display:none}.drawer-tab-content.active-tab{display:flex}.drawer-section h3{margin-top:0;margin-bottom:var(--space-md);color:var(--color-text-dark);font-size:1.1rem}.swatch-grid{flex-wrap:wrap;gap:12px;display:flex}.color-swatch{cursor:pointer;border:3px solid #0000;border-radius:50%;outline:none;width:42px;height:42px;transition:transform .2s,border-color .2s}.color-swatch:focus-visible,.avatar-icon:focus-visible{outline:2px dashed var(--color-primary);outline-offset:4px}.color-swatch.active{border-color:var(--color-text-dark);transform:scale(1.1)}.avatar-grid{flex-wrap:wrap;gap:8px;display:flex}.avatar-icon{border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #0000;outline:none;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.7rem;transition:background .2s,transform .2s;display:flex}.avatar-icon.active{background:var(--color-primary-light);border-color:var(--color-primary);transform:scale(1.1)}.drawer-email-row input{flex:1}@media(max-width:768px){.drawer-overlay{align-items:flex-end}.drawer-content{border-radius:20px 20px 0 0;width:100%;height:85vh;animation:.3s ease-out slide-in-up;box-shadow:0 -5px 25px #0000004d}@keyframes slide-in-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-content{background-color:var(--bg-card)!important;border:1px solid var(--border-strong,#e5e7eb)!important;box-shadow:0 4px 6px -1px #00000014,0 2px 4px -1px #0000000a!important}}@media(max-width:600px){.modal-content{padding:var(--space-xl)}}.dialog-overlay{-webkit-backdrop-filter:blur(8px);width:100vw;height:100vh;z-index:var(--z-max);opacity:0;visibility:hidden;background-color:#11182747;justify-content:center;align-items:center;transition:opacity .2s,visibility .2s;display:flex;position:fixed;top:0;left:0}.dialog-overlay.visible{opacity:1;visibility:visible}.dialog-box{background-color:var(--color-bg,#fff);border-radius:var(--radius-lg,12px);flex-direction:column;width:90%;max-width:400px;transition:transform .2s cubic-bezier(.175,.885,.32,1.275);display:flex;overflow:hidden;transform:scale(.95);box-shadow:0 10px 25px #0003}.dialog-overlay.visible .dialog-box{transform:scale(1)}.dialog-header{padding:20px 24px 10px}.dialog-header h3{color:var(--color-text-dark,#333);margin:0;font-size:1.25rem;font-weight:600}.dialog-body{color:var(--color-text-light,#666);padding:10px 24px 20px;font-size:.95rem;line-height:1.5}.dialog-body p{margin:0 0 15px}.dialog-body p:last-child{margin-bottom:0}.dialog-input{border:1px solid var(--color-border,#ddd);border-radius:var(--radius-md,6px);box-sizing:border-box;outline:none;width:100%;padding:10px 12px;font-size:1rem;transition:border-color .2s,box-shadow .2s}.dialog-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5d9b6233}.dialog-footer{background-color:var(--color-bg-alt,#f9f9f9);border-top:1px solid var(--color-border,#eee);justify-content:flex-end;gap:12px;padding:16px 24px;display:flex}.dialog-footer button{border-radius:var(--radius-md,6px);cursor:pointer;border:none;padding:8px 16px;font-size:.95rem;font-weight:500;transition:all .2s}.dialog-cancel-btn{color:var(--color-text-dark,#333);background-color:#0000;border:1px solid var(--color-border,#ddd)!important}.dialog-cancel-btn:hover{background-color:var(--color-bg-hover,#f0f0f0)}.dialog-confirm-btn{background-color:var(--color-primary);color:var(--text-on-primary)}.dialog-confirm-btn:hover{background-color:var(--color-primary-hover)}.dialog-confirm-btn.destructive{background-color:var(--color-danger)}.dialog-confirm-btn.destructive:hover{background-color:var(--color-danger-hover)}@media(max-width:768px){.dialog-box{background-color:var(--bg-card)!important;border:1px solid var(--border-strong,#e5e7eb)!important;box-shadow:0 4px 6px -1px #00000014,0 2px 4px -1px #0000000a!important}}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.skeleton{background:var(--color-bg-hover);border-radius:var(--radius-md);animation:1.5s ease-in-out infinite skeleton-pulse}.skeleton-text{border-radius:var(--radius-sm);height:1em;margin-bottom:.5em}.skeleton-text.short{width:40%}.skeleton-text.medium{width:65%}.skeleton-text.long{width:90%}.skeleton-title{border-radius:var(--radius-sm);width:50%;height:1.5em;margin-bottom:1em}.skeleton-card{padding:var(--space-xl);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-bg)}.skeleton-calendar{aspect-ratio:1/.85;border-radius:var(--radius-lg);width:100%;max-width:500px}.skeleton-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(180px,1fr));display:grid}.skeleton-photo{aspect-ratio:4/3;border-radius:var(--radius-md)}.skeleton-list-item{gap:var(--space-md);padding:var(--space-md) 0;align-items:center;display:flex}.skeleton-avatar{border-radius:50%;flex-shrink:0;width:36px;height:36px}.skeleton-list-text{flex-direction:column;flex:1;gap:6px;display:flex}.skeleton-avatar-lg{border-radius:var(--radius-md,10px);flex-shrink:0;width:50px;height:50px}.skeleton-avatar-sm{border-radius:50%;flex-shrink:0;width:26px;height:26px}.skeleton-badge{border-radius:var(--radius-full,9999px);flex-shrink:0;width:70px;height:20px}.skeleton-btn{border-radius:var(--radius-full,9999px);height:34px}.skeleton-weather-icon{border-radius:50%;flex-shrink:0;width:56px;height:56px}.skeleton-temp{border-radius:var(--radius-sm);width:72px;height:36px}.skeleton-forecast-col{flex-direction:column;flex:1;align-items:center;gap:6px;display:flex}.skeleton-button{border-radius:var(--radius-full);width:120px;height:36px}.skeleton-page{padding:var(--space-xl);gap:var(--space-lg);flex-direction:column;display:flex}.offline-banner{background:var(--color-warning-bg);color:var(--color-warning-text);border-bottom:2px solid var(--color-warning-border);text-align:center;font-size:var(--font-size-sm);justify-content:center;align-items:center;gap:8px;padding:8px 16px;font-weight:500;display:flex}.offline-banner.hidden{display:none}.toast{min-width:300px;max-width:500px;padding:var(--space-lg) var(--space-xl);background:var(--color-bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);align-items:center;gap:var(--space-md);z-index:var(--z-toast);transition:bottom var(--transition-slow);font-size:var(--font-size-base);color:var(--color-text-dark);display:flex;position:fixed;bottom:-100px;right:20px}.toast.show{bottom:20px}@media(max-width:768px){.toast.show{bottom:calc(80px + env(safe-area-inset-bottom,0px));min-width:0;left:12px;right:12px}}.toast i{font-size:1.5em}.toast span{font-weight:600}.toast-success{border-left:4px solid var(--color-success)}.toast-success i{color:var(--color-success)}.toast-error{border-left:4px solid var(--color-danger)}.toast-error i{color:var(--color-danger)}.toast-info{border-left:4px solid var(--color-info)}.toast-info i{color:var(--color-info)}.fab-help{background-color:var(--brand-primary);width:56px;height:56px;color:var(--text-on-primary);cursor:pointer;z-index:var(--z-overlay);border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:transform .2s,box-shadow .2s,background-color .2s;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 4px 12px #00000026}.fab-help svg{flex-shrink:0;width:24px;height:24px;display:block}.fab-help span,.fab-help i{flex-shrink:0;font-size:24px;line-height:1;display:block}.fab-help:hover{background-color:var(--brand-primary-hover);transform:translateY(-3px)scale(1.05);box-shadow:0 6px 16px #0003}.fab-help:active{transform:translateY(-1px)scale(.98)}.help-modal-overlay{width:100%;height:100%;z-index:var(--z-modal,1000);background-color:#00000080;justify-content:center;align-items:center;padding:24px;animation:.2s ease-out help-fade-in;display:flex;position:fixed;top:0;left:0}@keyframes help-fade-in{0%{opacity:0}to{opacity:1}}.help-modal-card{background:var(--bg-card);border-radius:var(--radius-xl,16px);width:520px;max-width:95vw;max-height:80vh;animation:.3s ease-out help-slide-up;overflow-y:auto;box-shadow:0 8px 32px #0003}@keyframes help-slide-up{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.help-modal-header{border-bottom:1px solid var(--color-border,#e5e7eb);background:var(--bg-card);border-radius:var(--radius-xl,16px) var(--radius-xl,16px) 0 0;z-index:var(--z-base);justify-content:space-between;align-items:center;padding:20px 24px;display:flex;position:sticky;top:0}.help-modal-header h2{color:var(--color-text-dark,#111827);margin:0;font-size:1.2rem}.help-modal-close{color:var(--color-text-light,#9ca3af);cursor:pointer;border-radius:var(--radius-md,8px);background:0 0;border:none;padding:4px 8px;font-size:1.5rem;line-height:1;transition:background .15s,color .15s}.help-modal-close:hover{background:var(--color-bg-alt,#f3f4f6);color:var(--color-text-dark,#111827)}.help-modal-body{color:var(--color-text,#374151);padding:24px;font-size:.95rem;line-height:1.7}.help-modal-body h3{color:var(--color-text-dark,#111827);margin:0 0 12px;font-size:1.15rem}.help-modal-body p{margin:0 0 12px}.help-modal-body ul{margin:0 0 12px;padding-left:20px}.help-modal-body li{margin-bottom:6px}.help-modal-body li strong{color:var(--brand-primary,#8bb88b)}@media(max-width:768px){.fab-help{width:48px;height:48px;bottom:80px;right:16px}.fab-help svg{width:22px;height:22px}.fab-help span,.fab-help i{font-size:22px}.help-modal-card{max-height:75vh}.help-modal-body{padding:16px;font-size:.9rem}}.custom-select-wrapper{-webkit-user-select:none;user-select:none;width:auto;display:inline-block;position:relative}.custom-select-trigger{border:1px solid var(--color-border-dark,#d1d5db);background:var(--color-bg-card,#fff);width:100%;color:var(--color-text-main,#111827);cursor:pointer;font-size:var(--font-size-xs,.85rem);font-family:var(--font-family);white-space:nowrap;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;font-weight:500;transition:border-color .2s,box-shadow .2s;display:flex}.custom-select-trigger:hover{border-color:var(--color-primary,#5d9b62)}.custom-select-trigger .cs-arrow{opacity:.45;flex-shrink:0;font-size:10px;line-height:1;transition:transform .2s}.custom-select-wrapper.open .custom-select-trigger{border-color:var(--color-primary,#5d9b62);box-shadow:0 0 0 3px #5d9b6226}.custom-select-wrapper.open .cs-arrow{transform:rotate(180deg)}.custom-select-options{background:var(--color-bg-card,#fff);border:1px solid var(--color-border,#e5e7eb);box-shadow:var(--shadow-md,0 4px 12px #0000001a);z-index:50;opacity:0;visibility:hidden;pointer-events:none;border-radius:12px;max-height:250px;margin:0;padding:4px;list-style:none;transition:opacity .18s,visibility .18s,transform .18s;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;transform:translateY(-8px)}.custom-select-wrapper.open .custom-select-options{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}.custom-select-options::-webkit-scrollbar{width:4px}.custom-select-options::-webkit-scrollbar-track{background:0 0}.custom-select-options::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:2px}.custom-select-option{cursor:pointer;color:var(--color-text-main,#111827);font-size:var(--font-size-xs,.85rem);font-family:var(--font-family);white-space:nowrap;border-radius:8px;padding:8px 12px;transition:background .12s}.custom-select-option:hover{color:var(--color-primary,#5d9b62);background:#5d9b621a}.custom-select-option.selected{background:var(--color-primary,#5d9b62);color:#fff;font-weight:600}.custom-select-option.selected:hover{background:var(--color-primary-dark,#4a7e4f);color:#fff}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}.app-nav{view-transition-name:app-nav}::view-transition-old(app-nav){animation:none}::view-transition-new(app-nav){animation:none}.mobile-nav{view-transition-name:mobile-nav}::view-transition-old(mobile-nav){animation:none}::view-transition-new(mobile-nav){animation:none}#page-container{view-transition-name:page-content}::view-transition-old(page-content){animation:.12s ease-out forwards vt-page-out}::view-transition-new(page-content){animation:.16s ease-out forwards vt-page-in}@keyframes vt-page-out{0%{opacity:1}to{opacity:.2}}@keyframes vt-page-in{0%{opacity:.4}to{opacity:1}}::view-transition-group(page-content){animation-duration:.16s}@media(prefers-reduced-motion:reduce){::view-transition-old(root){animation-duration:10ms!important;animation-delay:0s!important}::view-transition-new(root){animation-duration:10ms!important;animation-delay:0s!important}::view-transition-old(page-content){animation-duration:10ms!important;animation-delay:0s!important}::view-transition-new(page-content){animation-duration:10ms!important;animation-delay:0s!important}::view-transition-group(page-content){animation-duration:10ms!important;animation-delay:0s!important}}.nordic-dashboard{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex-grow:1;gap:8px;width:100%;max-width:1440px;min-height:0;margin:0 auto;padding:8px;display:flex;overflow-y:auto}.nordic-dashboard::-webkit-scrollbar{display:none}@media(min-width:768px){.nordic-dashboard{padding:16px}}@media(min-width:1100px){.nordic-dashboard{padding:12px 20px}}.glass-card{box-sizing:border-box;background:0 0;border:1px solid #ffffff80;border-radius:16px;flex-direction:column;gap:0;padding:16px;transition:box-shadow .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden;box-shadow:0 4px 24px #0000001a,inset 0 1px #fff6}.glass-card:before{content:"";z-index:var(--z-base);background:var(--bg-image) center / cover no-repeat fixed;filter:blur(24px)saturate(1.8)brightness(1.05);pointer-events:none;border-radius:0;margin:-24px;position:absolute;inset:0}.glass-card:after{content:"";z-index:var(--z-base);pointer-events:none;border-radius:inherit;background:#ffffffd1;position:absolute;inset:0}.glass-card>*{z-index:var(--z-above);position:relative}@media(max-width:767px){.glass-card:before,.glass-card:after{display:none}.glass-card{background:#fff;border:1px solid #0000000f;box-shadow:0 1px 4px #0000000f}}.card-body-full{box-sizing:border-box;flex-direction:column;flex:1;justify-content:flex-start;gap:10px;min-height:0;padding:0;display:flex;overflow:hidden}.card-body-full::-webkit-scrollbar{display:none}.list-content{scrollbar-width:none;-ms-overflow-style:none;flex:1;min-height:0;overflow-y:auto}.list-content::-webkit-scrollbar{display:none}.card-footer{box-sizing:border-box;border-top:1px solid #00000014;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;width:100%;margin-top:4px;padding-top:12px;font-size:.85rem;display:flex}.card-footer-meta{color:var(--text-muted,#9ca3af);font-size:.8rem;font-weight:500;line-height:1.4}.next-free-weekend{color:var(--color-text-main);white-space:nowrap;align-items:center;gap:6px;font-size:.825rem;line-height:1.3;display:flex}.next-free-weekend strong{color:var(--color-text-main)}.free-weekend-dot{background-color:var(--color-primary);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot;display:inline-block}.next-free-weekend-cta{cursor:pointer;border-radius:8px;margin:-4px -8px;padding:4px 8px;transition:background .15s}.next-free-weekend-cta:hover{background:#10b98114}.next-free-weekend-cta:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.free-weekend-action-icon{color:var(--color-primary);opacity:.7;flex-shrink:0;margin-left:2px;transition:opacity .15s}.next-free-weekend-cta:hover .free-weekend-action-icon{opacity:1}.my-next-reservation-highlight{background:var(--color-primary-lighter,#10b98114);border:1px solid #10b98126;border-radius:12px;align-items:center;gap:8px;margin-top:8px;padding:10px 14px;display:flex}.my-next-icon{flex-shrink:0;font-size:1.1rem}.my-next-label{color:var(--color-primary-dark,#047857);white-space:nowrap;font-size:.875rem;font-weight:700}.my-next-meta{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.next-free-weekend{color:var(--color-text-main);white-space:nowrap;align-items:center;gap:6px;padding-left:2px;font-size:.825rem;line-height:1.3;display:flex}@media(prefers-reduced-motion:reduce){.free-weekend-dot,.status-dot{animation:none}}.dashboard-grid{grid-template-columns:1fr;align-items:stretch;gap:12px;display:grid}.dashboard-grid>.glass-card,.dashboard-grid>div>.glass-card{box-sizing:border-box;height:auto;overflow:hidden}@media(min-width:768px)and (max-width:1099px){.dashboard-grid{grid-template-rows:auto 1fr 1fr;grid-template-columns:1fr 1fr;align-items:stretch;gap:12px}.dashboard-grid>div:first-child{grid-column:1/-1}.dashboard-grid>div:nth-child(2),.dashboard-grid>div:nth-child(3),.dashboard-grid>div:nth-child(4),.dashboard-grid>div:nth-child(5){align-self:stretch}.dashboard-grid>div:nth-child(2)>.glass-card,.dashboard-grid>div:nth-child(3)>.glass-card,.dashboard-grid>div:nth-child(4)>.glass-card,.dashboard-grid>div:nth-child(5)>.glass-card{height:100%}}@media(min-width:1100px){.dashboard-grid{flex:1;grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr 1fr;align-items:stretch;gap:10px;min-height:0}.dashboard-grid>div{min-height:0;overflow:hidden}.dashboard-grid>div>.glass-card{height:100%;overflow:hidden}.dashboard-grid>div:first-child{grid-area:1/1}.dashboard-grid>div:nth-child(2){grid-area:1/2}.dashboard-grid>div:nth-child(3){grid-area:1/3}.dashboard-grid>div:nth-child(4){grid-area:2/1/auto/2}.dashboard-grid>div:nth-child(5){grid-area:2/2/auto/4}}.dashboard-card-header{flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.dashboard-card-header-title{color:var(--text-main,#374151);text-transform:none;letter-spacing:.01em;font-size:.875rem;font-weight:600}.dashboard-card-header-link{color:var(--color-primary,#5d9b62);font-size:.825rem;font-weight:500;text-decoration:none;transition:opacity .15s}.dashboard-card-header-link:hover{opacity:.7}.status-card{position:relative;overflow:visible}.status-card .card-body-full{overflow:visible}.status-accent{display:none}.status-content{flex-direction:column;flex:1;height:100%;display:flex}@media(min-width:768px)and (max-width:1099px){.status-card .status-content{grid-template-rows:auto 1fr auto;grid-template-columns:1fr auto;align-items:start;gap:0 24px;display:grid}.status-card .dashboard-date{grid-column:1/-1}.status-card .status-hero-row{grid-area:2/1}.status-card .my-next-reservation-highlight{grid-area:3/1}.status-card .status-next-block{border-top:none;border-left:1px solid var(--border-light,#0000000f);grid-area:2/2/4;align-self:center;margin-top:0;padding:0 0 0 24px}.status-card .status-cta-row{grid-column:1/-1}}.dashboard-date{color:var(--text-muted,#64748b);text-transform:none;letter-spacing:.01em;margin-bottom:8px;font-size:.825rem;font-weight:600}.status-badge-pill{text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;border-radius:999px;flex-shrink:0;align-items:center;gap:5px;width:fit-content;margin:0;padding:3px 10px;font-size:.7rem;font-weight:600;display:inline-flex}.status-badge-pill .status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.is-occupied .status-badge-pill{background:var(--status-error-light,#fee2e2);color:var(--status-error,#dc2626)}.is-occupied .status-badge-pill .status-dot{background:var(--status-error,#dc2626);box-shadow:none;animation:2s ease-in-out infinite pulse-dot}.is-free .status-badge-pill{background:var(--status-success-light,#dcfce7);color:var(--color-primary,#3f7b63)}.is-free .status-badge-pill .status-dot{background:var(--color-primary,#16a34a);box-shadow:none}.status-name-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.status-hero-row{align-items:center;gap:16px;display:flex}.status-avatar-block{width:48px;height:48px;color:var(--text-on-primary);border:1px solid var(--border-light,#0000000f);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.status-hero-text{flex:1;min-width:0}.status-name{color:var(--text-main,#111827);word-break:break-word;font-size:20px;font-weight:800;line-height:1.2}.status-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;display:flex}.status-dates{color:var(--text-muted,#6b7280);font-size:13px;font-weight:500}.status-remaining-chip{color:var(--status-warning);white-space:nowrap;background:#ea580c14;border-radius:99px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.is-free .status-remaining-chip{color:#15803d;background:#16a34a14}.status-next-block{border-top:1px solid var(--border-light,#0000000f);background:0 0;border-radius:0;align-items:center;gap:10px;margin-top:auto;padding:12px 0 0;display:flex}.status-next-avatar{width:32px;height:32px;color:var(--text-on-primary);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.status-next-info{flex:1;min-width:0}.status-next-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted,#9ca3af);font-size:10px;font-weight:600;line-height:1}.status-next-name{color:var(--text-main,#1a2721);margin-top:2px;font-size:13px;font-weight:600}.status-next-date{color:var(--text-muted,#6b7280);margin-top:1px;font-size:12px}.status-next-chip{color:var(--text-muted,#6b7280);white-space:nowrap;background:#0000000d;border-radius:99px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:600}.status-next-personal{background:#ffffff0d;border:1px solid #00000008;border-radius:8px;margin-top:4px;padding:12px 14px;position:relative;box-shadow:0 2px 8px #00000005}.status-next-accent-line{background-color:var(--color-primary,#10b981);border-radius:4px 0 0 4px;width:4px;position:absolute;top:0;bottom:0;left:0}.status-next-label-personal{color:var(--color-primary-dark,#047857);text-transform:none;letter-spacing:normal;font-size:.8rem;font-weight:700}.status-next-chip-personal{background:var(--color-primary-lighter,#10b9811f);color:var(--color-primary-dark,#047857);font-weight:700}.status-upcoming-list{flex-direction:column;gap:0;margin-top:6px;display:flex}.status-upcoming-row{border-bottom:1px solid #0000000d;align-items:center;gap:10px;padding:8px 0;display:flex}.status-upcoming-row:last-child{border-bottom:none}.status-upcoming-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.status-upcoming-name{color:var(--text-main,#1e293b);text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:600;overflow:hidden}.status-upcoming-date{color:var(--text-muted,#64748b);font-size:.75rem}.status-upcoming-chip{color:var(--text-muted,#6b7280);white-space:nowrap;background:#0000000d;border-radius:99px;flex-shrink:0;padding:2px 8px;font-size:10px;font-weight:600}.status-upcoming-mine{background:var(--color-primary-lighter,#10b9810a);border-radius:8px;padding-left:10px;padding-right:10px}.status-upcoming-mine .status-upcoming-chip{background:var(--color-primary-lighter,#10b9811f);color:var(--color-primary-dark,#047857)}.status-handover{color:var(--color-text-light);border-left:3px solid var(--color-primary);word-break:break-word;background:#00000008;border-radius:8px;margin-top:8px;padding:8px 12px;font-size:12px;line-height:1.4}.status-handover i{color:var(--color-warning-hover);flex-shrink:0;margin-top:2px}.purpose-chip{vertical-align:middle;margin-left:3px;font-size:14px}.res-status-badge,.res-badge-type{text-transform:uppercase;letter-spacing:.04em;vertical-align:middle;border-radius:99px;margin-left:4px;padding:2px 7px;font-size:10px;font-weight:700}.res-badge-soft{color:var(--color-warning-text);background:#fbbf2426}.res-badge-backup{color:var(--color-text-light);background:#9ca3af33}.status-cta-row{border-top:1px solid #0000000f;flex-wrap:wrap;flex-shrink:0;justify-content:flex-start;align-items:center;gap:10px;width:100%;margin-top:auto;padding-top:14px;display:flex}.status-cta{cursor:pointer;border:1px solid #0000;border-radius:9999px;align-items:center;gap:6px;padding:8px 20px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.status-cta-neutral{color:var(--text-main,#374151);background:0 0;border:1px solid #00000021;font-weight:500}.status-cta-neutral:hover{background:#0000000d;border-color:#0003}.status-cta-primary{background-color:var(--color-primary);color:var(--text-on-primary);border:none;font-weight:600}.status-cta-primary:hover{background-color:var(--color-primary-hover);transform:translateY(-1px)}.status-cta-smart{color:var(--color-primary-dark,#047857);background:0 0;border:1px solid #10b9814d;font-weight:600}.status-cta-smart:hover{background:#10b9810d;border-color:#10b98199}.weather-card .card-body-full{justify-content:space-between;gap:0}.weather-hero-zone{flex-direction:column;gap:6px;padding-bottom:8px;display:flex}.weather-hero{align-items:center;gap:14px;display:flex}.weather-icon-circle{background:#0000000a;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;transition:background .2s;display:flex}.weather-icon-large{flex-shrink:0}.weather-hero-text{flex:1;min-width:0}.weather-hero-row{align-items:baseline;gap:10px;display:flex}.weather-temp{color:var(--text-main);letter-spacing:-.02em;font-size:36px;font-weight:800;line-height:1}.weather-desc{color:var(--text-muted);font-size:14px;font-weight:600}.weather-hero-sub{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px;margin-top:5px;font-size:12.5px;display:flex}.weather-feels-like{white-space:nowrap;font-weight:500}.weather-sub-detail{white-space:nowrap;align-items:center;gap:3px;font-weight:500;display:inline-flex}.weather-sub-detail:before{content:"·";color:var(--text-muted);opacity:.4;margin:0 1px;font-weight:700}.weather-sub-rain-high{color:#2563eb;font-weight:600}.weather-sun-bar{color:var(--text-muted);background:#00000006;border-radius:10px;align-items:center;gap:12px;padding:5px 10px;font-size:11.5px;font-weight:500;display:flex}.weather-sun-row{color:var(--text-muted);align-items:center;gap:8px;font-weight:600;display:inline-flex}.weather-sun-item{white-space:nowrap;align-items:center;gap:4px;display:inline-flex}.weather-sunrise-icon{vertical-align:-2px;opacity:.8;color:#f59e0b;display:inline-block}.weather-sunset-icon{vertical-align:-2px;opacity:.8;color:#ea580c;display:inline-block}.weather-day-length{opacity:.5;margin-left:auto;font-weight:600}.weather-chips{flex-wrap:wrap;gap:6px;display:flex}.weather-chip{color:var(--text-muted);white-space:nowrap;background:#0000000a;border-radius:8px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:500;display:inline-flex}.weather-chip strong{color:var(--text-main);font-weight:700}.weather-chip-uv.uv-low{color:#16a34a;background:#16a34a14}.weather-chip-uv.uv-low strong{color:#16a34a}.weather-chip-uv.uv-moderate{color:#d97706;background:#d9770614}.weather-chip-uv.uv-moderate strong{color:#d97706}.weather-chip-uv.uv-high{color:#dc2626;background:#dc262614}.weather-chip-uv.uv-high strong{color:#dc2626}.weather-chip-uv.uv-extreme{color:#7c3aed;background:#7c3aed14}.weather-chip-uv.uv-extreme strong{color:#7c3aed}.weather-chip-rain.rain-high{color:#2563eb;background:#2563eb14}.weather-chip-rain.rain-high strong{color:#2563eb}.weather-storm-alert{border-radius:10px;flex-shrink:0;align-items:center;gap:8px;padding:5px 10px;font-size:.8rem;font-weight:500;display:flex}.weather-storm-alert.storm-caution{color:#a16207;background:#eab3081a;border:1px solid #eab30833}.weather-storm-alert.storm-warning{color:#c2410c;background:#f973161a;border:1px solid #f9731633}.weather-storm-alert.storm-severe{color:#b91c1c;background:#dc262614;border:1px solid #dc26262e}.weather-storm-alert strong{font-weight:700}.weather-chart-section{border-top:1px solid #0000000f;flex-direction:column;flex:1;gap:5px;min-height:0;padding-top:8px;display:flex;overflow:hidden}.weather-chart-tabs{background:#00000008;border-radius:10px;gap:4px;padding:3px;display:flex}.weather-chart-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:4px;padding:5px 10px;font-size:11.5px;font-weight:600;transition:all .18s;display:flex}.weather-chart-tab:hover{background:#0000000d}.weather-chart-tab.active{background:var(--bg-card,#fff);color:var(--text-main);box-shadow:0 1px 3px #0000001a}.weather-chart-tab.active.tab-rain{color:#2563eb}.weather-chart-tab.active.tab-wind{color:#059669}.weather-chart-tab.active.tab-temp{color:#d97706}.weather-chart-headline{color:var(--text-muted);margin-top:2px;font-size:11.5px;font-weight:500}.weather-chart-headline strong{color:var(--text-main);font-weight:700}.weather-chart-bars{flex:1;align-items:flex-end;gap:4px;min-height:48px;display:flex}.chart-bar-col{flex-direction:column;flex:1;align-items:center;gap:3px;min-width:0;display:flex}.chart-bar-track{background:#00000009;border-radius:5px;width:100%;height:52px;position:relative;overflow:hidden}.chart-bar-fill{border-radius:5px 5px 0 0;width:100%;transition:height .4s cubic-bezier(.4,0,.2,1);position:absolute;bottom:0;left:0}.chart-bar-fill-rain{background:#3b82f64d}.chart-bar-fill-wind{background:#10b9814d}.chart-bar-fill-temp{background:#f59e0b4d}.chart-bar-fill-accent.chart-bar-fill-temp{background:linear-gradient(#fbbf24,#d97706)}.chart-bar-fill-accent.chart-bar-fill-rain{background:linear-gradient(#60a5fa,#2563eb)}.chart-bar-fill-accent.chart-bar-fill-wind{background:linear-gradient(#34d399,#059669)}.chart-bar-label{color:var(--text-muted);white-space:nowrap;opacity:.55;font-size:9.5px;font-weight:500;line-height:1}.chart-bar-label-accent{opacity:1;font-weight:700}.chart-bar-now{opacity:1;color:var(--text-main);font-size:10px;font-weight:700}.chart-bar-value-dim{color:var(--text-muted);opacity:.6;font-size:8.5px;font-weight:500}.chart-bar-peak[data-chart=rain] .chart-bar-label-accent{color:#2563eb}.chart-bar-peak[data-chart=wind] .chart-bar-label-accent{color:#059669}.chart-bar-peak[data-chart=temp] .chart-bar-label-accent{color:#d97706}.chart-bar-value{text-align:center;white-space:nowrap;z-index:1;pointer-events:none;font-size:10px;font-weight:700;line-height:1;position:absolute;top:3px;left:0;right:0}.chart-bar-value-temp{color:#fff;text-shadow:0 1px 3px #b4640080}.chart-bar-value-rain{color:#fff;text-shadow:0 1px 3px #1e50b480}.chart-bar-value-wind{color:#fff;text-shadow:0 1px 3px #05644680}.rain-clear-message{min-height:80px;color:var(--text-muted);opacity:.65;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 0;font-size:.8rem;display:flex}.weather-forecast{border-top:1px solid #0000000f;flex-shrink:0;justify-content:space-between;align-items:stretch;gap:2px;margin-top:2px;padding:6px 4px 4px;display:flex}.forecast-day{cursor:default;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 4px;transition:background .15s;display:flex}.forecast-day:hover{background:#00000008}.forecast-day-name{color:var(--text-muted);letter-spacing:.01em;font-size:12px;font-weight:600}.forecast-icon{margin:2px 0}.forecast-temps{color:var(--text-main);text-align:center;font-size:13.5px;line-height:1.3}.forecast-temps strong{font-weight:800}.forecast-temps .forecast-temp-min{color:var(--text-muted);margin-left:1px;font-size:12px;font-weight:400}.forecast-precip{color:#1976d2;opacity:.8;align-items:center;gap:3px;min-height:14px;font-size:10px;font-weight:600;line-height:1;display:inline-flex}.forecast-precip-none{visibility:hidden}.forecast-day-today .forecast-day-name{color:var(--text-main);font-weight:700}@media(min-width:1100px){.weather-hero-zone{gap:6px;padding-bottom:8px}.weather-icon-circle{border-radius:12px;width:44px;height:44px}.weather-temp{font-size:32px}.weather-desc{font-size:13px}.weather-hero-sub{gap:4px;margin-top:3px;font-size:11.5px}.weather-sun-bar{gap:10px;padding:5px 10px;font-size:10.5px}.weather-chart-section{gap:4px;padding-top:8px}.weather-chart-tabs{padding:2px}.weather-chart-tab{padding:4px 8px;font-size:11px}.chart-bar-track{height:52px}.weather-forecast{margin-top:2px;padding:6px 4px 2px}.forecast-day{gap:3px;padding:5px 3px}.forecast-day-name{font-size:11px}.forecast-temps{font-size:12.5px}.forecast-precip{font-size:9px}.forecast-icon{display:none}}.dashboard-shopping-item{cursor:pointer;border-bottom:1px solid #0000000d;align-items:center;gap:10px;width:100%;padding:10px 0;font-size:.88rem;line-height:1.4;transition:background .15s;display:flex}.dashboard-shopping-item:last-child{border-bottom:none}.dashboard-shopping-item:hover{background:#00000005}.dashboard-shopping-item input[type=checkbox]{accent-color:var(--color-primary,#5d9b62);cursor:pointer;flex-shrink:0;width:18px;height:18px}.dashboard-shopping-item .shopping-item-name{cursor:pointer;min-width:0;color:var(--text-main,#374151);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.shopping-essential-mark{color:#d97706;flex-shrink:0;align-items:center;display:inline-flex}.dashboard-shopping-item .shopping-item-list{color:var(--text-muted,#9ca3af);white-space:nowrap;background:#00000008;border:none;border-radius:6px;flex-shrink:0;padding:2px 8px;font-size:.68rem;font-weight:500}.shopping-progress-wrap{align-items:center;gap:10px;margin-bottom:14px;display:flex}.shopping-progress-bar{background:#0000000f;border-radius:99px;flex:1;height:8px;overflow:hidden}.shopping-progress-fill{background:var(--color-primary);border-radius:99px;height:100%;transition:width .4s}.shopping-progress-label{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;font-weight:600}.shopping-widget-more{font-size:var(--font-size-xs);color:var(--text-muted);text-align:center;padding:8px 0 2px;font-weight:500;transition:color .15s}.shopping-widget-more:hover{color:var(--color-primary)}.shopping-done-msg{color:var(--color-primary);justify-content:center;align-items:center;gap:8px;padding:16px;font-size:15px;font-weight:600;display:flex}.dashboard-notes-card{flex-shrink:1;flex-basis:auto;min-height:0}.dashboard-notes-feed{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;gap:12px;display:flex;overflow-y:auto}.dashboard-notes-feed::-webkit-scrollbar{display:none}@media(min-width:768px){.dashboard-notes-feed{flex-direction:column;gap:8px}}@media(min-width:1100px){.dashboard-notes-feed{flex-direction:row;gap:16px}.dashboard-note-item{flex:1;min-width:0}}.dashboard-note-item{border-radius:10px;flex:1;align-items:flex-start;gap:10px;min-width:0;padding:8px;transition:background .15s;display:flex}.dashboard-note-item:hover{background:#00000008}.note-avatar{color:#fff;background:var(--color-primary);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:flex}.note-content{flex:1;min-width:0}.note-meta{align-items:baseline;gap:6px;margin-bottom:3px;display:flex}.note-author{color:#111827;font-size:13px;font-weight:600}.note-time{color:#9ca3af;font-size:12px}.note-preview{color:#6b7280;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;line-height:1.45;display:-webkit-box;overflow:hidden}.dashboard-handover-card .card-body-full{gap:8px}.handover-card-content{flex-direction:column;flex:1;gap:0;min-height:0;display:flex;overflow:hidden}.handover-note-text,.nordic-dashboard .message-content{color:var(--text-main,#374151);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;scrollbar-width:none;-ms-overflow-style:none;border-left:3px solid var(--color-primary,#5d9b62);flex:0 auto;min-height:0;margin:8px 0;padding-left:16px;font-size:.92rem;font-style:italic;line-height:1.65;overflow-y:auto}.handover-note-text::-webkit-scrollbar{display:none}.nordic-dashboard .message-content::-webkit-scrollbar{display:none}.handover-note-empty{color:var(--text-muted,#9ca3af);margin:0;padding:8px 0;font-size:.88rem;font-style:italic}.handover-note-author{color:var(--text-muted,#9ca3af);flex-shrink:0;margin-top:8px;font-size:.78rem;font-weight:500}.handover-edit-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:4px 6px;font-size:14px;line-height:1;transition:color .15s,background .15s;display:flex}.handover-edit-btn:hover{color:#6b7280;background:#0000000f}.list-item{color:inherit;border-bottom:1px solid #0000000d;border-radius:6px;align-items:center;gap:12px;padding:8px 0;text-decoration:none;transition:background .12s;display:flex}.list-item:last-child{border-bottom:none}.list-item:hover{background:#00000005}.list-item-icon{color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:flex}.list-item-text,.list-item-content{flex:1;min-width:0}.list-item-title{color:var(--text-main,#111827);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:600;overflow:hidden}.list-item-subtitle{color:#6b7280;margin-top:2px;font-size:13px}.upcoming-days-chip{color:#6b7280;white-space:nowrap;background:#0000000a;border-radius:99px;padding:2px 8px;font-size:12px;font-weight:500}.dashboard-stats-row{flex-shrink:0;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:0;display:grid}@media(min-width:768px){.dashboard-stats-row{grid-template-columns:repeat(4,1fr);gap:16px}}.stat-card{color:inherit;align-items:center;gap:16px;padding:16px;text-decoration:none;display:flex}.stat-card:hover{border-color:#fffc;transform:translateY(-4px);box-shadow:0 12px 24px #0000001f}.stat-icon{width:40px;height:40px;color:var(--color-primary);background:#5d9b621a;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;font-size:20px;display:flex}.stat-info{flex-direction:column;display:flex}.stat-value{color:#111827;font-size:24px;font-weight:800;line-height:1}.stat-label{color:#6b7280;margin-top:4px;font-size:14px;font-weight:600}.empty-state-card{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;min-height:120px;padding:16px;display:flex}.empty-state-icon,.empty-icon-duotone{color:var(--text-placeholder);opacity:.4;margin-bottom:2px;font-size:34px}.empty-text{color:var(--text-main);margin:0;font-size:15px;font-weight:600}.empty-subtext{color:var(--text-placeholder);margin:0;font-size:13px}.empty-cta{background-color:var(--bg-card);color:var(--text-main);border:1px solid var(--border-light);cursor:pointer;border-radius:9999px;align-items:center;gap:6px;margin-top:4px;padding:8px 20px;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.empty-cta:hover{background-color:var(--bg-hover);border-color:var(--border-strong)}.spinner-container{justify-content:center;align-items:center;height:100%;min-height:150px;display:flex}.spinner{border:4px solid #5d9b6233;border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}.shopping-quick-add{gap:8px;margin-bottom:16px;display:flex;position:relative}.shopping-quick-add input{background:#fff9;border:1px solid #0000001a;border-radius:12px;flex:1;padding:10px 16px;font-size:14px;transition:border-color .2s,background .2s}.shopping-quick-add input:focus{border-color:var(--color-primary);background:#fff;outline:none}.shopping-quick-add button{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.shopping-quick-add button:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.shopping-quick-add button:active{transform:translateY(1px)}.shopping-widget-list{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.shopping-widget-list::-webkit-scrollbar{display:none}.shopping-widget-item{background:#ffffff80;border:1px solid #0000000d;border-radius:12px;align-items:center;gap:12px;padding:10px 12px;transition:all .2s;display:flex}.shopping-widget-item:hover{background:#fffc;transform:translate(2px)}.shopping-widget-checkbox{color:#cbd5e1;cursor:pointer;justify-content:center;align-items:center;font-size:20px;transition:color .2s;display:flex}.shopping-widget-checkbox:hover{color:var(--color-primary)}.shopping-widget-name{color:var(--color-text-dark);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;font-weight:500;overflow:hidden}.shopping-widget-badge{color:var(--color-primary-dark);white-space:nowrap;background:#5881571a;border-radius:12px;padding:4px 8px;font-size:11px;font-weight:600}.shopping-widget-item.is-purchased .shopping-widget-checkbox{color:var(--color-primary)}.shopping-widget-item.is-purchased .shopping-widget-name{color:#94a3b8;text-decoration:line-through}.shopping-widget-item.is-purchased .shopping-widget-badge{opacity:.5}.shopping-empty{margin-top:16px}.shopping-list-name{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-bottom:8px;font-size:13px;font-weight:600;overflow:hidden}.essential-warning-banner{-webkit-backdrop-filter:none;box-shadow:none;background:0 0;border:none;border-radius:16px;padding:0;overflow:hidden}.essential-warning-banner.hidden{display:none}.essential-warning-content{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(135deg,#fee2e2e6,#fecacad9);border:1px solid #ef444426;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.essential-warning-icon{flex-shrink:0;font-size:24px}.essential-warning-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.essential-warning-message-block{flex-direction:column;gap:4px;min-width:0;display:flex}.essential-warning-message{color:var(--text-main);font-size:.875rem;font-weight:600;line-height:1.4}.essential-warning-items{color:var(--text-muted);word-break:break-word;font-size:.8125rem;font-weight:500;line-height:1.4}.btn-alert{color:#fff;cursor:pointer;white-space:nowrap;background:#ef4444;border:none;border-radius:9999px;flex-shrink:0;padding:6px 16px;font-size:.875rem;font-weight:500;transition:background .2s}.btn-alert:hover{background:#dc2626}.winter-banner{border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#dbeafe,#e0f2fe,#f0f9ff);border:1px solid #3b82f640;grid-column:1/-1;margin-bottom:0;padding:16px 24px}.winter-banner.hidden{display:none}.winter-banner-content{align-items:center;gap:12px;display:flex}.winter-banner-icon{flex-shrink:0;font-size:1.6rem}.winter-banner-text{flex-direction:column;gap:2px;min-width:0;display:flex}.winter-banner-text strong{color:#1e40af;font-size:.95rem;line-height:1.3}.winter-banner-text span{color:#3b82f6;font-size:.85rem;line-height:1.4}@media(max-width:768px){.winter-banner{padding:12px 16px}.winter-banner-icon{font-size:1.3rem}.winter-banner-text strong{font-size:.88rem}.winter-banner-text span{font-size:.8rem}}.departure-banner{background-color:var(--color-warning-light,#fef3c7);border-radius:var(--radius-lg,12px);box-shadow:var(--shadow-sm);border:1px solid #f59e0b4d;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;padding:16px 24px;display:flex}.departure-banner-content{align-items:center;gap:12px;min-width:0;display:flex}.departure-banner-icon{color:#b45309;background:#f59e0b33;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex}.departure-banner-text{min-width:0}.departure-banner-text h3{color:#92400e;margin:0;font-size:1rem;line-height:1.3}.departure-banner-text p{color:#a16207;margin:2px 0 0;font-size:.88rem;line-height:1.4}.departure-banner-action{flex-shrink:0;width:auto}@media(max-width:768px){.departure-banner{flex-direction:column;align-items:stretch;padding:14px 16px}.departure-banner-action{width:100%}}@media(max-width:600px){.essential-warning-content{flex-direction:column;align-items:stretch;gap:12px}.essential-warning-text{align-items:flex-start}.btn-alert{justify-content:center;width:100%}}.handover-modal-content{max-width:500px}.handover-textarea{border:1px solid var(--color-border);border-radius:var(--radius-md,8px);resize:vertical;box-sizing:border-box;width:100%;min-height:120px;padding:12px;font-family:inherit;font-size:14px}.handover-textarea:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #5d9b621a}.handover-char-counter{text-align:right;color:#9ca3af;margin-top:4px;font-size:12px}.handover-modal-content .modal-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.handover-modal-content .modal-header h2{margin:0;font-size:1.1rem}.handover-modal-content .modal-body{flex-direction:column;gap:4px;display:flex}.handover-modal-content .modal-subtitle{color:var(--text-muted);margin:0 0 10px;font-size:.88rem}.handover-modal-content .modal-buttons{justify-content:flex-end;margin-top:16px}.handover-modal-content .modal-buttons .button-primary,.handover-modal-content .modal-buttons .button-secondary{width:auto}.dashboard-mobile-header{border-radius:20px;flex-shrink:0;margin-bottom:0;position:relative;overflow:hidden}.header-bg{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark,#3a6b3e));border-radius:20px;flex-shrink:0;height:70px;position:relative;overflow:hidden}@media(min-width:768px){.header-bg{height:80px}}.header-content{align-items:center;gap:16px;margin-top:-30px;padding:0 24px 16px;display:flex}.greeting-text{color:var(--color-text-dark);text-shadow:0 2px 4px #ffffff80;margin-top:20px;font-size:22px}.greeting-text strong{font-weight:800}.dashboard-avatar-picker{cursor:pointer;background:var(--color-primary);color:#fff;z-index:1;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:60px;height:60px;font-size:30px;transition:transform .2s,box-shadow .2s;display:flex;position:relative;box-shadow:0 4px 12px #00000026}.dashboard-avatar-picker:hover{transform:scale(1.08);box-shadow:0 6px 20px #0003}@media(max-width:768px){.nordic-dashboard{gap:12px;padding:12px;overflow-y:auto}.dashboard-grid{flex-grow:0;grid-template-columns:1fr;grid-auto-rows:auto;gap:12px}.dashboard-grid>.glass-card{height:auto;min-height:0}.glass-card{padding:16px}.card-body-full{gap:12px}.dashboard-notes-feed{flex-direction:column;gap:8px}.dashboard-note-item{flex:unset}.status-hero-row{gap:12px}.status-avatar-block{width:42px;height:42px;font-size:20px}.status-name{font-size:17px}.status-cta-row{justify-content:stretch;margin-top:12px}.status-cta-row .status-cta{border-radius:12px;justify-content:center;width:100%;min-height:44px;padding:10px 16px;font-size:14px}.status-handover{padding:8px 10px;font-size:12px}.empty-state-card{gap:8px;min-height:140px;padding:14px}.empty-cta{justify-content:center;width:100%;min-height:44px;padding:10px 16px;font-size:14px}.dashboard-card-header-title{font-size:13px}.dashboard-card-header-link{font-size:12px}.weather-icon-large{font-size:36px}.weather-temp{font-size:32px}.weather-desc{font-size:14px}.list-item-icon{border-radius:9px;width:32px;height:32px;font-size:12px}.list-item-title{font-size:13px}.list-item-subtitle{font-size:11px}.header-bg{height:50px}.header-content{gap:10px;margin-top:-22px;padding:0 16px 12px}.greeting-text{margin-top:10px;font-size:16px}.note-avatar{border-radius:8px;width:28px;height:28px;font-size:11px}.note-author{font-size:12px}.note-time{font-size:10px}.note-preview{font-size:12px}.stat-card{gap:12px;padding:12px}.stat-value{font-size:20px}.card-footer{padding-top:12px}.handover-note-text,.nordic-dashboard .message-content{padding-left:12px;font-size:.85rem}}@media(min-width:1024px)and (max-height:850px){.nordic-dashboard{gap:12px;padding:16px 24px}.header-bg{height:60px}.header-content{margin-top:-25px;padding-bottom:8px}.dashboard-avatar-picker{border-width:3px;width:50px;height:50px;font-size:24px}.greeting-text{margin-top:15px;font-size:18px}.dashboard-grid{gap:12px}.status-cta{padding:6px 14px;font-size:12px}.weather-icon-large{font-size:32px}.weather-temp{font-size:28px}.weather-desc{font-size:14px}.stat-card{gap:12px;padding:12px}.stat-value{font-size:20px}}@media(max-width:380px){.nordic-dashboard{gap:10px;padding:8px}.glass-card{padding:12px}.card-body-full{gap:10px}.status-avatar-block{border-radius:12px;width:40px;height:40px;font-size:18px}.status-name,.greeting-text{font-size:15px}.weather-temp{font-size:28px}.weather-forecast{display:none}.departure-checklist{flex-direction:column;gap:12px;margin-top:16px;display:flex}.checklist-item{align-items:center;gap:8px;padding:0;font-size:.88rem;display:flex}.checklist-item input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary);flex-shrink:0}}.checkout-reminder{border-radius:10px;align-items:center;gap:8px;margin-top:8px;padding:10px 14px;font-size:.85rem;line-height:1.4;display:flex}.checkout-reminder a{color:inherit;text-underline-offset:2px;font-weight:600;text-decoration:underline}.checkout-reminder a:hover{opacity:.85}.checkout-reminder-icon{flex-shrink:0;font-size:1.15rem}.checkout-reminder-warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.checkout-reminder-warn a{color:#92400e}.checkout-reminder-done{color:#166534;background:#dcfce7b3;border:1px solid #bbf7d0}.checkout-reminder-missed{color:#991b1b;background:#fee2e299;border:1px solid #fecaca}@media(max-width:768px){.checkout-reminder{padding:10px 12px;font-size:.82rem}}.last-stay-inline{color:var(--text-muted,#64748b);align-items:center;gap:6px;margin-top:4px;padding:0;font-size:.78rem;display:flex}.last-stay-inline.last-stay-warning{color:#92400e;font-weight:600}.last-stay-text{line-height:1.3}.reconstruction-widget-count{align-items:baseline;gap:8px;margin-top:4px;margin-bottom:4px;display:flex}.reconstruction-count-number{color:var(--text-primary,#1e293b);font-size:1.4rem;font-weight:700;line-height:1}.reconstruction-count-label{color:var(--text-muted,#64748b);font-size:.82rem}.reconstruction-widget-list{flex-direction:column;gap:4px;display:flex}.reconstruction-widget-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:6px 10px;transition:background .15s;display:flex}.reconstruction-widget-item:hover{background:#f1f5f9cc}.reconstruction-item-icon{text-align:center;flex-shrink:0;width:24px;font-size:1.1rem}.reconstruction-item-info{flex-direction:column;gap:1px;min-width:0;display:flex}.reconstruction-item-title{color:var(--text-primary,#1e293b);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:500;overflow:hidden}.reconstruction-item-meta{color:var(--text-muted,#64748b);font-size:.75rem}.reconstruction-card-empty .card-body-full{padding:12px 16px}.reconstruction-empty-row{align-items:center;gap:8px;display:flex}.reconstruction-empty-icon{color:var(--text-muted,#64748b);opacity:.4;flex-shrink:0}.reconstruction-empty-text{color:var(--text-muted,#64748b);flex:1;font-size:.82rem}.reconstruction-empty-cta{color:var(--color-primary,#5d9b62);white-space:nowrap;font-size:.8rem;font-weight:500;text-decoration:none;transition:opacity .15s}.reconstruction-empty-cta:hover{opacity:.7}.gallery-widget-grid{cursor:pointer;border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;margin-top:8px;display:grid;overflow:hidden}.gallery-widget-thumb{background:#f1f5f9;border-radius:8px;padding-bottom:75%;position:relative;overflow:hidden}.gallery-widget-thumb img{object-fit:cover;width:100%;height:100%;transition:transform .2s;position:absolute;inset:0}.gallery-widget-grid:hover .gallery-widget-thumb img{transform:scale(1.03)}.gallery-widget-meta{color:var(--text-muted,#64748b);justify-content:space-between;align-items:center;margin-top:8px;font-size:.78rem;display:flex}.gallery-widget-time{opacity:.7}@media(min-width:1100px){.dashboard-notes-card{max-height:none}.dashboard-notes-card .dashboard-notes-feed{flex-direction:row;gap:12px;display:flex;overflow:hidden}.dashboard-notes-card .dashboard-note-item{flex:1;min-width:0}}.quick-links-list{flex-direction:column;gap:4px;margin-top:4px;display:flex}.quick-link-item{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;width:100%;padding:10px 12px;font-family:inherit;transition:background .15s;display:flex}.quick-link-item:hover{background:#0000000a}.quick-link-item:active{background:#00000012}.quick-link-icon{border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex;overflow:hidden}.quick-link-icon--gallery{color:var(--color-primary,#5d9b62);background:#5d9b621a}.quick-link-icon--chat{color:#3b82f6;background:#3b82f61a}.quick-link-icon--diary{color:#d97706;background:#f59e0b1a}.quick-link-thumb{object-fit:cover;border-radius:12px;width:100%;height:100%}.quick-link-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.quick-link-label{color:var(--text-main,#1e293b);font-size:.9rem;font-weight:600;line-height:1.3}.quick-link-meta{color:var(--text-muted,#64748b);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;line-height:1.3;overflow:hidden}.quick-link-badge{color:#fff;background:#3b82f6;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-flex}.quick-link-arrow{color:var(--text-muted,#9ca3af);flex-shrink:0;font-size:1.1rem;transition:transform .15s}.quick-link-item:hover .quick-link-arrow{color:var(--text-main,#374151);transform:translate(3px)}.reservations-layout{gap:var(--space-xl);grid-template-columns:1fr 350px;align-items:stretch;height:100%;min-height:0;display:grid}@media(max-width:1024px){.reservations-layout{grid-template-columns:1fr;overflow-y:auto}}.full-calendar-card{flex-direction:column;min-height:0;display:flex}.calendar-header-bar{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.calendar-nav{align-items:center;gap:var(--space-md);display:flex}.calendar-nav h2{text-align:center;border:none;min-width:150px;margin:0;padding:0;font-size:1.5rem}.icon-button{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:0;font-weight:700;display:flex;color:var(--color-text-main,#111827)!important}.icon-button svg{color:inherit;stroke:currentColor;fill:none;stroke-width:2px;display:block}.icon-button:hover{background:var(--color-primary-lighter);color:var(--color-primary-dark);border-color:var(--color-primary)}.calendar-stats{gap:var(--space-sm);display:flex}.stat-badge{background:var(--color-bg-alt,#f9fafb);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-muted,#6b7280);border:1px solid var(--color-border,#e5e7eb);padding:6px 12px;font-weight:400}.stat-badge.free{background:var(--color-bg-alt,#f9fafb);color:var(--color-text-muted,#6b7280);border-color:var(--color-border,#e5e7eb)}.stat-badge.free strong{color:#16a34a;font-weight:700}.stat-badge.occupied{background:var(--color-bg-alt,#f9fafb);color:var(--color-text-muted,#6b7280);border-color:var(--color-border,#e5e7eb)}.stat-badge.occupied strong{color:#d97706;font-weight:700}.stat-badge.weekend{background:var(--color-bg-alt,#f9fafb);color:var(--color-text-muted,#6b7280);border-color:var(--color-border,#e5e7eb)}.stat-badge.weekend strong{color:#2563eb;font-weight:700}.custom-calendar{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.cal-weekdays{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);flex-shrink:0;grid-template-columns:repeat(7,1fr);display:grid}.cal-weekdays div{padding:var(--space-sm);text-align:center;font-weight:600;font-size:var(--font-size-sm);color:#4b5563;text-transform:uppercase}.cal-days{flex:1;grid-template-rows:repeat(6,minmax(80px,1fr));grid-template-columns:repeat(7,1fr);min-height:0;display:grid;overflow-y:auto}.cal-day{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);cursor:pointer;transition:background var(--transition-fast);flex-direction:column;gap:2px;padding:4px;display:flex;position:relative}.cal-day:nth-child(7n){border-right:none}.cal-day:hover{background:var(--color-bg-alt)}.cal-day.empty{cursor:default;background:#f9fafb}.cal-day.other-month{cursor:pointer;background-color:#fafafa}.cal-day.other-month .day-num{color:#b8bfc9;font-weight:400}.cal-day.other-month .cal-bar{opacity:.55}.cal-day.past-date{opacity:.62;pointer-events:none;cursor:default}.cal-day.past-date .day-num{color:#9ca3af}.cal-day.past-date.other-month{opacity:.38}.cal-day.weekend{background-color:var(--color-bg-alt,#f9fafb)}.cal-day.weekend.other-month{background-color:#fafafa}.cal-day.is-range-start,.cal-day.is-range-end{border:1px solid #5d9b628c;border-radius:0;background:#5d9b6247!important}.cal-day.is-range-start .day-num,.cal-day.is-range-end .day-num{color:#166534;font-weight:700}.cal-day.is-in-range{background:#5d9b6221!important}.cal-day.is-in-range .day-num{color:#166534}.cal-day.is-in-range:hover{background:#5d9b6233!important}.cal-days.is-selecting .cal-day:not(.empty):not(.past-date){cursor:pointer}.range-hint{border-radius:var(--radius-md);background:linear-gradient(135deg,#05966914,#0596690a);border:1px solid #05966940;flex:1;align-items:center;gap:10px;min-width:0;margin:0;padding:6px 12px;display:flex}.range-hint.hidden{display:none}.range-hint-icon{color:#059669;background:#05966926;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.range-hint-body{flex-direction:column;flex:1;gap:1px;display:flex}.range-hint-body strong{font-size:var(--font-size-sm);color:#059669;font-weight:700;line-height:1.3}.range-hint-body span{color:var(--color-text-secondary);font-size:11px}.range-hint-cancel{cursor:pointer;color:var(--color-text-secondary);opacity:.6;transition:opacity var(--transition-fast);border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:4px;line-height:1}.range-hint-cancel:hover{opacity:1;background:#0000000d}.cal-day.today .day-num{background:var(--color-primary);color:#fff;border-radius:var(--radius-full);justify-content:center;align-items:center;width:24px;height:24px;margin:0 auto 4px;display:flex}.day-num{text-align:center;font-size:var(--font-size-sm);color:var(--color-text);margin-bottom:4px;font-weight:600}.cal-bars{flex-direction:column;flex:1;gap:1px;min-height:0;display:flex;overflow:hidden}.cal-bar{white-space:nowrap;text-overflow:ellipsis;z-index:var(--z-base);border-radius:4px;margin:1px 2px;padding:2px 6px;font-size:10px;font-weight:600;position:relative;overflow:hidden;color:var(--color-text-main,#111827)!important}.cal-bar.start{border-top-left-radius:4px;border-bottom-left-radius:4px;margin-left:4px}.cal-bar.end{border-top-right-radius:4px;border-bottom-right-radius:4px;margin-right:4px}.cal-bar.start.end{border-radius:4px;margin-left:4px;margin-right:4px}.cal-bar.backup{opacity:.7;border:1px dashed;background:0 0!important}.cal-bar-more{color:var(--color-text-muted,#6b7280);text-align:center;cursor:pointer;padding:1px 0;font-size:.65rem;font-weight:700;line-height:1.2;transition:color .15s}.cal-bar-more:hover{color:var(--color-primary,#5d9b62)}.panel-actions{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);align-items:center;gap:var(--space-md);display:flex}.panel-actions-buttons{gap:var(--space-md);flex-shrink:0;margin-left:auto;display:flex}.panel-actions .button-primary{width:auto}.form-row{margin-bottom:var(--space-md);gap:16px;display:flex}.form-row .form-group{flex:1;margin-bottom:0}.booking-modal-content .form-group label,.booking-modal-content .form-group .modal-label{color:#4b5563;margin-bottom:5px;font-size:.82rem;font-weight:500;line-height:1.3;display:block}.label-optional{color:#9ca3af;font-size:.78rem;font-weight:400}.booking-input,.booking-modal-content input[type=text],.booking-modal-content input[type=date],.booking-modal-content textarea{box-sizing:border-box;color:#111827;appearance:none;background:#fff;border:1px solid #d1d5db;border-radius:8px;outline:none;width:100%;padding:9px 12px;font-family:inherit;font-size:14px;transition:border-color .18s,box-shadow .18s;box-shadow:0 1px 2px #0000000a}.booking-input:focus,.booking-modal-content input[type=text]:focus,.booking-modal-content input[type=date]:focus,.booking-modal-content textarea:focus{border-color:var(--color-primary,#5d9b62);box-shadow:0 0 0 3px #5d9b622e,0 1px 2px #0000000a}.booking-modal-content textarea{resize:vertical;min-height:76px;line-height:1.5}.booking-modal-content{width:700px;max-width:95vw}.soft-res-group{margin-bottom:var(--space-lg);cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:10px;padding:11px 14px;transition:background .15s;display:flex}.soft-res-group:hover{background:#f3f4f6}.soft-res-group input[type=checkbox]{cursor:pointer;width:17px;height:17px;accent-color:var(--color-primary,#5d9b62);border-radius:4px;flex-shrink:0}.soft-res-group label{cursor:pointer;color:#374151;-webkit-user-select:none;user-select:none;margin:0;font-size:13.5px;font-weight:500}.soft-res-sublabel{color:#9ca3af;font-size:.78rem;font-weight:400}.backup-warning{margin-bottom:var(--space-md);color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;align-items:flex-start;gap:10px;padding:10px 14px;font-size:13px;line-height:1.5;display:flex}.backup-warning i{color:#f59e0b;flex-shrink:0;margin-top:2px}.backup-warning.hidden{display:none}.booking-footer{margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:10px;display:flex}.booking-footer-right{align-items:center;gap:8px;margin-left:auto;display:flex}.btn-ghost-danger{color:#f87171;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:7px 11px;font-size:13px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.btn-ghost-danger:hover{color:#dc2626;background:#fef2f2}.btn-ghost-danger.hidden{display:none}.reservations-list-container{flex-direction:column;height:100%;min-height:0;display:flex}#reservations-list,#reservation-detail{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex:1;padding-right:5px;overflow:hidden auto}#reservations-list::-webkit-scrollbar{width:6px}#reservation-detail::-webkit-scrollbar{width:6px}#reservations-list::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}#reservation-detail::-webkit-scrollbar-thumb{background-color:var(--color-border);border-radius:10px}.res-detail-card{border-radius:var(--radius-lg);padding:var(--space-xl);gap:var(--space-lg);border:1px solid var(--color-border,#e5e7eb);background:#fff;flex-direction:column;display:flex;box-shadow:0 2px 8px #0000000a}.detail-back-btn{cursor:pointer;color:#9ca3af;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:5px;margin-bottom:2px;padding:0;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.detail-back-btn i{align-items:center;font-size:11px;display:inline-flex}.detail-back-btn:hover{color:#374151}.detail-header{align-items:center;gap:var(--space-md);padding-bottom:var(--space-md);border-bottom:1px solid #f3f4f6;display:flex}.detail-avatar{color:#fff;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:42px;height:42px;font-size:18px;font-weight:700;display:flex;box-shadow:0 2px 6px #0000001a}.detail-header-text{flex-direction:column;gap:4px;display:flex}.detail-username{color:#111827;font-size:16px;font-weight:700;line-height:1.2}.detail-badge{letter-spacing:.03em;text-transform:uppercase;border-radius:20px;width:fit-content;padding:2px 7px;font-size:.7rem;font-weight:600;display:inline-block}.badge-success{color:#166534;background:#dcfce7}.badge-warning{color:#92400e;background:#fef3c7}.badge-neutral{color:#4b5563;background:#f3f4f6}.detail-meta-block{background:0 0;border:none;flex-direction:column;gap:10px;padding:0;display:flex}.detail-meta-row{justify-content:space-between;align-items:center;gap:var(--space-md);border:none;padding:0;display:flex}.detail-meta-row--notes{flex-direction:column;align-items:flex-start;gap:4px}.detail-meta-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;flex-shrink:0;width:60px;font-size:10.5px;font-weight:600}.detail-meta-row--notes .detail-meta-label{width:auto}.detail-meta-value{color:#1f2937;text-align:right;flex:1;font-size:13.5px;font-weight:500;line-height:1.4}.detail-meta-row--notes .detail-meta-value{text-align:left}.detail-notes-text{color:#4b5563;box-sizing:border-box;background:#f9fafb;border-radius:8px;width:100%;padding:8px 10px;font-size:13px;font-style:normal;font-weight:400;line-height:1.5}.detail-actions{padding-top:var(--space-md);border-top:1px solid #f3f4f6;flex-direction:column;gap:8px;margin-top:auto;display:flex}.detail-btn{cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast),transform .1s;white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:7px;width:100%;min-height:40px;padding:9px 16px;font-size:13.5px;font-weight:600;text-decoration:none;display:inline-flex}.detail-btn:active{transform:scale(.98)}.detail-btn-primary{color:#fff;background:#5d9b62;border-color:#5d9b62;box-shadow:0 1px 3px #5d9b6240}.detail-btn-primary:hover{background:#4a7c4e;border-color:#4a7c4e;transform:translateY(-1px);box-shadow:0 4px 10px #5d9b624d}.detail-btn-secondary{color:#374151;background:#fff;border-color:#d1d5db}.detail-btn-secondary:hover{background:#f9fafb;border-color:#9ca3af}.detail-btn-ghost-danger{color:#f87171;background:0 0;border-color:#0000;min-height:34px;margin-left:0;font-size:12.5px;font-weight:500}.detail-btn-ghost-danger:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.reservations-header-tabs{justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-md);flex-wrap:wrap;display:flex}.reservations-header-tabs h2{border-bottom:none;margin:0;padding-bottom:0}.period-select{border-radius:var(--radius-md);border:1px solid var(--color-border);color:var(--color-text-dark);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;background:#fff;outline:none;padding:6px 12px;font-weight:500}.period-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-lighter)}.res-tabs{gap:var(--space-sm);background:var(--color-bg-alt);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:4px;display:flex}.res-tab{font-size:var(--font-size-sm);color:var(--color-text-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:6px 14px;font-weight:600}.res-tab:hover{color:var(--color-text)}.res-tab.active{color:var(--color-primary-dark);background:#fff;box-shadow:0 2px 4px #0000000d}.empty-state{text-align:center;color:var(--color-text-muted);padding:var(--space-2xl) 0;font-style:italic}.res-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;height:100%;min-height:200px;padding:32px 16px;display:flex}.res-empty-icon{opacity:.45;color:var(--color-primary,#5d9b62);justify-content:center;align-items:center;display:flex}.res-empty-title{color:var(--color-text,#374151);margin:0;font-size:1rem;font-weight:600}.res-empty-sub{color:var(--color-text-muted,#9ca3af);font-size:.85rem;line-height:1.4}#reservations-list{gap:var(--space-md);flex-direction:column;display:flex}.res-card{border:1px solid var(--color-border,#e5e7eb);width:100%;transition:transform var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box;background:#fff;border-radius:10px;align-items:stretch;gap:10px;padding:10px 12px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 3px #0000000d,0 1px 2px #00000008}.res-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}.res-card.res-mine,.res-card.res-backup{background:#fff}.res-indicator{display:none}.res-user-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px;display:inline-block}.res-content-left{flex-direction:column;flex-grow:1;justify-content:flex-start;gap:4px;min-width:0;display:flex}.res-user{align-items:center;gap:6px;min-width:0;margin-bottom:2px;display:flex}.res-user strong{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-dark);font-size:15px;font-weight:700;overflow:hidden}.res-avatar{object-fit:cover;color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:flex}.res-date-block-new{align-items:baseline;gap:6px;display:flex}.res-date-main{color:var(--color-text-dark);white-space:nowrap;font-size:13px;font-weight:600}.res-content-right{flex-direction:column;flex-shrink:0;justify-content:space-between;align-items:flex-end;padding-left:8px;display:flex}.res-status-container{justify-content:flex-end;width:100%;display:flex}.status-badge{white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0;align-items:center;gap:4px;padding:0;font-size:10px;font-weight:700;display:flex}.status-badge.approved{color:var(--color-text-light);background:0 0;border:none}.status-badge.approved:before{content:"";background-color:var(--color-primary);border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite heartBeat;display:inline-block}.status-badge.backup{color:var(--color-text-light);background:0 0;border:none}.status-badge.backup:before{content:"";background-color:var(--color-warning);border-radius:50%;width:8px;height:8px;display:inline-block}.status-badge.soft{color:var(--color-text-light);background:0 0;border:none}.status-badge.soft:before{content:"";background-color:#f59e0b;border-radius:50%;width:8px;height:8px;display:inline-block}.res-purpose{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;overflow:hidden}.res-notes{font-size:var(--font-size-sm);color:var(--color-text-light);border-radius:var(--radius-sm);background:#00000005;margin-top:4px;padding:8px}.res-notes i{color:var(--color-info);margin-right:4px}.res-actions{gap:var(--space-md);margin-top:var(--space-xl);padding-top:var(--space-md);border-top:1px solid var(--color-border);flex-wrap:wrap;width:100%;display:flex}.res-actions button{flex:1;min-width:120px}.res-card-actions{color:#9ca3af;justify-content:flex-end;align-items:center;gap:4px;margin-top:2px;display:flex}.res-card-actions button{border-radius:var(--radius-full);cursor:pointer;width:30px;min-width:30px;height:30px;min-height:30px;color:var(--color-text-muted,#6b7280);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:1rem;display:flex}.res-card-actions button svg{stroke:currentColor;fill:none;stroke-width:2.5px;width:15px;height:15px;display:block}.res-card-actions button:hover{color:var(--color-text-dark);background:#0000000d}.res-card-actions button.edit-btn:hover{color:var(--color-info);background:var(--color-info-bg)}.res-card-actions button.assign-btn:hover{color:var(--color-primary);background:var(--color-primary-bg)}.res-card-actions button.delete-btn:hover{color:var(--color-danger);background:var(--color-danger-bg)}@media(max-width:768px){.res-card:hover{transform:none;box-shadow:0 2px 6px #0000000f}.res-card{padding:10px 10px 10px 14px}.res-indicator{animation:none}.res-card{flex-direction:column}.res-indicator{width:100%;height:6px}.res-content-right{border-top:1px solid var(--color-border);flex-direction:row;align-items:center;margin-top:8px;padding-top:8px;padding-left:0}.reservations-header-tabs{flex-direction:column;align-items:flex-start}.cal-days{grid-template-rows:repeat(6,minmax(60px,1fr))}.cal-bar{padding:1px 2px;font-size:9px}.day-num{margin-bottom:2px;font-size:.75rem}.res-detail-card{padding:var(--space-md)}.panel-actions{flex-wrap:wrap}.range-hint{flex-basis:100%;order:-1}.panel-actions-buttons{margin-left:auto}}@keyframes softPulse{0%{opacity:1}50%{opacity:.6}to{opacity:1}}@keyframes heartBeat{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.2);box-shadow:0 0 4px #0003}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.reservations-layout{grid-template-columns:1fr;gap:12px;height:auto;overflow-y:visible}.calendar-stats{flex-wrap:wrap;justify-content:center;gap:6px;width:100%}.stat-badge{white-space:nowrap;padding:4px 10px;font-size:11px}.calendar-header-bar{flex-wrap:wrap;gap:8px;margin-bottom:12px}.custom-calendar{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex:none;height:auto;padding-bottom:8px;display:block;overflow:auto visible}.custom-calendar::-webkit-scrollbar{height:4px}.custom-calendar::-webkit-scrollbar-track{background:0 0}.custom-calendar::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.cal-weekdays{grid-template-columns:repeat(7,minmax(44px,1fr));min-width:308px}.cal-weekdays div{padding:6px 2px;font-size:10px}.cal-days{flex:none;grid-template-rows:repeat(6,minmax(56px,1fr));grid-template-columns:repeat(7,minmax(44px,1fr));min-width:308px;height:auto;overflow:visible}.cal-day{padding:3px 2px}.day-num{width:20px;height:20px;margin-bottom:2px;font-size:.78rem}.cal-bar{border-radius:2px;min-height:6px;margin:0 1px;padding:3px 0;font-size:0}.cal-bar.start{border-top-left-radius:3px;border-bottom-left-radius:3px;margin-left:2px}.cal-bar.end{border-top-right-radius:3px;border-bottom-right-radius:3px;margin-right:2px}.cal-bars{gap:1px}.reservations-header-tabs{align-items:flex-start;gap:8px}.res-tab{min-height:36px;padding:6px 14px;font-size:13px}.full-calendar-card{height:auto;min-height:0}}@media(max-width:380px){.cal-weekdays,.cal-days{grid-template-columns:repeat(7,minmax(38px,1fr));min-width:266px}.cal-days{grid-template-rows:repeat(6,minmax(48px,1fr))}.day-num{width:18px;height:18px;font-size:.72rem}.stat-badge{padding:3px 8px;font-size:10px}}.inv-notify-content{border-top:4px solid var(--color-primary,#5d9b62);width:100%;max-width:420px;padding:28px 28px 24px}.inv-notify-header{align-items:center;gap:12px;margin-bottom:16px;display:flex}.inv-notify-header h3{color:#111827;margin:0;font-size:1.2rem;font-weight:700}.inv-notify-body{color:#374151;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:20px;padding:14px 16px;font-size:.9rem;line-height:1.6}.inv-notify-body p{margin:0 0 6px}.inv-notify-body p:last-child{margin-bottom:0}.inv-notify-body strong{color:#111827}.inv-notify-subtitle{color:#374151;margin:0 0 10px;font-size:.9rem}.inv-notify-list{flex-direction:column;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.inv-notify-item{justify-content:space-between;align-items:center;gap:8px;font-size:.88rem;display:flex}.inv-notify-item-name{color:#111827;flex:1;font-weight:500}.inv-notify-shop-line{color:#374151;border-top:1px solid #fde68a;margin:8px 0 0;padding-top:8px;font-size:.88rem}.inv-notify-question{color:#111827;margin-bottom:0;font-size:.9rem;font-weight:500;margin-top:14px!important}.inv-notify-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.inv-notify-actions .button-primary,.inv-notify-actions .button-secondary{flex-shrink:0;min-width:90px;width:auto!important}#inv-notify-modal{opacity:0;transition:opacity .2s}#inv-notify-modal.modal-visible{opacity:1}#inv-notify-modal .modal-content{transition:transform .2s;transform:translateY(-10px)}#inv-notify-modal.modal-visible .modal-content{transform:translateY(0)}.detail-btn-watch{color:#15803d;background:#f0fdf4;border:1.5px solid #bbf7d0}.detail-btn-watch:hover{background:#dcfce7;border-color:#86efac;transform:translateY(-1px);box-shadow:0 3px 10px #15803d26}.detail-btn-watching{color:#854d0e;background:#fef9c3;border:1.5px solid #fde68a}.detail-btn-watching:hover{color:#92400e;background:#fef08a;border-color:#fbbf24}.cal-avail-dots{cursor:default;flex-direction:row;flex-shrink:0;justify-content:center;align-items:center;gap:3px;min-height:10px;margin-top:auto;padding:2px 0 0;display:flex}.cal-avail-dot{opacity:.85;border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:transform .15s,opacity .15s}.cal-avail-dots:hover .cal-avail-dot{opacity:1;transform:scale(1.3)}.btn-availability{align-items:center;gap:6px;font-size:.88rem;display:inline-flex}.availability-modal-content{width:100%;max-width:440px}.avail-modal-desc{color:#6b7280;margin:0 0 16px;font-size:.88rem;line-height:1.5}.my-avail-list{border-top:1px solid var(--color-border,#e5e7eb);margin-top:8px}.my-avail-item{border-bottom:1px solid var(--color-border,#e5e7eb);color:#374151;justify-content:space-between;align-items:center;padding:8px 4px;font-size:.88rem;display:flex}.my-avail-item .btn-ghost-danger{min-width:unset;color:#ef4444;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:1rem;line-height:1}.my-avail-item .btn-ghost-danger:hover{background:#ef44441a}.avail-switch-link{border-top:1px solid var(--color-border,#e5e7eb);text-align:center;margin-top:12px;padding-top:12px}.btn-link-subtle{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:.82rem;transition:color .2s,background .2s}.btn-link-subtle:hover{color:#059669;background:#0596690f}@media(max-width:768px){.cal-avail-dots{gap:2px;min-height:8px;padding:1px 0 0}.cal-avail-dot{width:5px;height:5px}.btn-availability{padding:6px 10px;font-size:.82rem}}@media(max-width:380px){.cal-avail-dot{width:4px;height:4px}.cal-avail-dots{gap:1px}}.checkout-section-slot{margin-top:var(--space-md,16px)}.checkout-form{background:linear-gradient(135deg,#f0fdf4,#ecfdf5);border:1px solid #bbf7d0;border-radius:14px;margin-top:4px;padding:20px}.checkout-form-header{margin-bottom:16px}.checkout-form-header h3{color:#166534;margin:0 0 4px;font-size:1.05rem;font-weight:700}.checkout-form-header p{color:#4b5563;margin:0;font-size:.85rem}.checkout-tasks{flex-direction:column;gap:2px;margin-bottom:16px;display:flex}.checkout-task{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;align-items:center;gap:12px;min-height:48px;padding:12px 14px;transition:background .15s;display:flex}.checkout-task:hover{background:#1665340f}.checkout-task:active{background:#1665341a}.checkout-task-cb{appearance:none;cursor:pointer;background:#fff;border:2px solid #9ca3af;border-radius:7px;flex-shrink:0;width:24px;min-width:24px;height:24px;transition:all .2s;position:relative}.checkout-task-cb:checked{background:#16a34a;border-color:#16a34a}.checkout-task-cb:checked:after{content:"✓";color:#fff;font-size:14px;font-weight:700;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.checkout-task-cb:focus-visible{outline-offset:2px;outline:2px solid #16a34a}.checkout-task-text{color:#1f2937;-webkit-user-select:none;user-select:none;font-size:.92rem;line-height:1.4}.checkout-task:has(.checkout-task-cb:checked) .checkout-task-text{color:#6b7280;-webkit-text-decoration:line-through #9ca3af;text-decoration:line-through #9ca3af}.checkout-confirm-btn{color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent;background:#16a34a;border:none;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:52px;padding:14px 20px;font-size:.95rem;font-weight:700;transition:background .2s,opacity .2s,transform .1s;display:flex}.checkout-confirm-btn:hover:not(:disabled){background:#15803d}.checkout-confirm-btn:active:not(:disabled){transform:scale(.98)}.checkout-confirm-btn:disabled{color:#9ca3af;cursor:not-allowed;opacity:.7;background:#d1d5db}.checkout-completed{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #bbf7d0;border-radius:14px;align-items:center;gap:14px;padding:16px 18px;display:flex}.checkout-completed-icon{flex-shrink:0;font-size:1.6rem;line-height:1}.checkout-completed-text{color:#374151;flex-direction:column;gap:2px;font-size:.88rem;line-height:1.45;display:flex}.checkout-completed-text strong{color:#166534;font-size:.92rem}.checkout-empty{color:#6b7280;background:#f9fafb;border:1px dashed #d1d5db;border-radius:12px;align-items:center;gap:10px;padding:14px 16px;font-size:.85rem;line-height:1.45;display:flex}.checkout-empty-icon{flex-shrink:0;font-size:1.3rem}@media(max-width:768px){.checkout-form{border-radius:12px;padding:16px}.checkout-task{gap:10px;min-height:52px;padding:14px 12px}.checkout-task-cb{border-radius:8px;width:28px;min-width:28px;height:28px}.checkout-task-cb:checked:after{font-size:16px}.checkout-confirm-btn{min-height:56px;padding:16px 20px;font-size:1rem}}.my-availabilities{margin-top:var(--space-lg,16px);border-top:1px solid var(--color-border,#e5e7eb);padding-top:var(--space-md,12px)}.modal-section-title{font-size:var(--font-size-sm,.875rem);color:var(--text-main,#1a2721);margin:0 0 var(--space-sm,8px) 0;font-weight:700}.avail-list{margin:0;padding:0;list-style:none}.avail-item{padding:var(--space-sm,8px) 0;border-bottom:1px solid var(--color-border,#e5e7eb);font-size:var(--font-size-sm,.875rem);color:var(--text-main,#1a2721);justify-content:space-between;align-items:center;display:flex}.avail-item.is-editing{background:var(--brand-primary-light,#ecfdf5);border-radius:var(--radius-sm,4px);padding-left:var(--space-sm,8px);padding-right:var(--space-sm,8px)}.avail-dates{font-weight:500}.avail-actions{gap:var(--space-xs,4px);display:flex}.avail-btn{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-sm,4px);background:var(--color-bg-card,#fff);color:var(--text-main,#1a2721);font-size:var(--font-size-xs,.75rem);cursor:pointer;transition:all var(--transition-fast,.15s);padding:4px 10px;font-weight:500}.avail-btn:hover{background:var(--color-bg-hover,#f1f5f9);border-color:var(--color-border-dark,#cbd5e1)}.avail-btn--danger{color:var(--status-error,#dc2626);font-size:var(--font-size-xs,.75rem);background:#ef44440d;border-color:#ef44444d;min-height:32px;padding:4px 10px}.avail-btn--danger:hover{background:#ef44441f;border-color:#ef444480}.avail-btn--danger:disabled{opacity:.5;cursor:not-allowed}.date-display-bar{background-color:var(--color-bg);color:var(--color-text-light);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-sm) var(--space-xl);margin:0 auto var(--space-xl) auto;justify-content:center;max-width:fit-content;font-size:12px;font-weight:700;line-height:1;display:flex;box-shadow:0 2px 8px #00000008}.date-part{align-items:center;gap:10px;display:flex}.date-part .icon{color:var(--color-primary);font-size:1.3em}.date-part .label{display:none}.date-part .date-value{font-weight:700;font-size:var(--font-size-base);color:var(--color-text-dark)}.date-separator{color:var(--color-text-light);font-size:var(--font-size-sm);text-transform:uppercase;font-weight:500}.calendar-container{margin-bottom:var(--space-xl);position:relative}.flatpickr-calendar{box-shadow:none;background-color:#fff;font-family:inherit;width:100%!important}.flatpickr-months{background-color:#0000;border-bottom:1px solid #eee;margin-bottom:10px;padding:10px 0}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{background-color:var(--color-primary-bg,#e8f4ef);border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;padding:0;display:flex;top:8px}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{background-color:var(--color-primary-light,#d4ede4)}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px;fill:var(--color-primary,#3f7b63)}.flatpickr-current-month{font-size:var(--font-size-lg);color:#333;padding-top:5px;font-weight:600}.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month .numInputWrapper,.flatpickr-current-month input.cur-year{font-weight:600}.flatpickr-weekdays{background-color:#0000}span.flatpickr-weekday{color:var(--color-primary,#3f7b63);font-weight:600;font-size:var(--font-size-xs);text-transform:uppercase}.flatpickr-day{color:#555;border:none;border-radius:50%;max-width:38px;height:38px;margin:1px;font-weight:500;line-height:38px}.flatpickr-day:hover{background-color:var(--color-bg-hover)}.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:#ccc;opacity:.7}.flatpickr-day.today{border-color:var(--color-primary-light);border:1px solid var(--color-primary-light);color:var(--color-primary)}.flatpickr-day.today:hover{background-color:var(--color-primary-lighter)}.flatpickr-innerContainer{justify-content:center;margin-bottom:15px}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{color:#fff;background:#f87171;border-color:#f87171}.flatpickr-day.inRange{color:#b91c1c;background:#fecaca;border-color:#fecaca;border-radius:50%}.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.startRange.endRange{border-radius:50%}.flatpickr-day.booked-day{opacity:1;cursor:pointer;color:#fff;box-shadow:none;border:none;border-radius:50%;text-decoration:none}@media(max-width:600px){.date-display-bar{gap:var(--space-md);padding:var(--space-sm) var(--space-lg);width:calc(100% - 32px);margin-left:16px;margin-right:16px}.date-part .date-value{font-size:var(--font-size-sm)}.date-part .icon{font-size:1.1em}}.notes-layout{gap:var(--space-xl);grid-template-columns:350px 1fr;align-items:stretch;height:100%;min-height:0;display:grid}.notes-sidebar{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-xl);height:100%;min-height:0;padding:var(--space-lg);background:#ffffffe0;border:1px solid #fff9;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 4px 12px #0000000d,0 1px 2px #00000014}.notes-sidebar-header{gap:var(--space-md);margin-bottom:var(--space-lg);flex-direction:column;flex-shrink:0;display:flex}.notes-sidebar-title{justify-content:space-between;align-items:center;display:flex}.notes-sidebar-title h2{font-size:var(--font-size-2xl);color:var(--color-text);margin:0;font-weight:700}.notes-search{align-items:center;display:flex;position:relative}.notes-search i{left:var(--space-sm);color:var(--color-text-light);position:absolute}.notes-search input{border-radius:var(--radius-full);border:1px solid var(--color-border);background-color:var(--color-bg);width:100%;font-size:var(--font-size-sm);transition:border-color var(--transition-fast);padding:8px 12px 8px 32px}.notes-search input:focus{border-color:var(--color-primary);outline:none}.notes-thread-list{scrollbar-width:none;-ms-overflow-style:none;flex-direction:column;flex:1;gap:12px;min-height:0;display:flex;overflow:hidden auto}.notes-thread-list::-webkit-scrollbar{display:none}.sidebar-footer{border-top:1px solid #0000000f;flex-shrink:0;padding:12px 16px}.sidebar-footer-btn{border-radius:12px;width:100%;padding:10px 16px;font-size:.95rem}.thread-item{cursor:pointer;background:#fff;border-left:4px solid #0000;border-radius:16px;align-items:center;gap:14px;padding:14px 16px;transition:box-shadow .15s,transform .15s,border-color .15s;display:flex;box-shadow:0 1px 3px #0000000f,0 1px 2px #0000000a}.thread-item:hover{box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}.thread-item.active{border-left-color:var(--color-primary,#3f7b63);box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a}.thread-item.active .thread-name{font-weight:700}.thread-item.unread .thread-name{color:#111;font-weight:700}.thread-item.unread .thread-last-message{color:#333;font-weight:600}.thread-meta-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.unread-badge{background-color:var(--color-primary,#3f7b63);border-radius:50%;flex-shrink:0;width:12px;height:12px;display:inline-block}.thread-item:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.thread-avatar{color:#fff;width:40px;height:40px;font-weight:700;font-size:var(--font-size-base);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.thread-info{flex-direction:column;flex-grow:1;gap:4px;min-width:0;display:flex}.thread-info-top{justify-content:space-between;align-items:baseline;display:flex}.thread-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.thread-time{font-size:var(--font-size-xs);color:var(--color-text-light);margin-left:var(--space-sm);flex-shrink:0}.thread-info-bottom{justify-content:space-between;align-items:center;display:flex}.thread-last-message{font-size:var(--font-size-sm);color:var(--color-text-light);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.notes-chat-area-wrapper{background:var(--bg-app,#f4f7f5);border-radius:var(--radius-xl);z-index:1;flex-direction:column;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 12px #0000000d,0 1px 2px #00000014}.mobile-chat-back{border-radius:var(--radius-md,8px);background:var(--bg-surface,#fff);border:1px solid var(--border-primary,#d0d5d1);min-width:44px;min-height:44px;color:var(--text-primary,#1a2e1a);cursor:pointer;flex-shrink:0;margin:.5rem;padding:.5rem 1rem;font-size:.95rem;font-weight:500}.notes-chat-area-wrapper{background:linear-gradient(#f0f4f1,#e8ede9,#f4f7f5)}.notes-chat-area-wrapper:before{content:"";opacity:.07;z-index:-1;pointer-events:none;background-image:url(/chat-bg-forest.png);background-position:bottom;background-repeat:no-repeat;background-size:cover;position:absolute;inset:0}.notes-chat-area{background-color:#0000;flex-direction:column;flex-grow:1;min-width:0;height:100%;max-height:100%;display:flex;overflow:hidden}.notes-chat-area .chat-messages{background-color:#0000}.chat-header{padding:var(--space-lg) var(--space-xl);-webkit-backdrop-filter:blur(12px);align-items:center;gap:var(--space-md);z-index:var(--z-sticky);background:#f0f4f1d9;border-bottom:1px solid #00000012;flex-shrink:0;display:flex;position:relative}.chat-avatar-group{flex-shrink:0;align-items:center;display:flex}.chat-avatar-group-item{border:2px solid var(--bg-app,#f4f7f5);width:28px;height:28px;margin-left:-8px;overflow:hidden;box-shadow:0 1px 3px #0000001f;border-radius:50%!important}.chat-avatar-group-item:first-child{margin-left:0}.chat-header-info{flex-direction:column;flex-grow:1;display:flex}.chat-header-info h3{font-size:var(--font-size-2xl);color:var(--color-text);margin:0;font-weight:700}.chat-header-participants{color:var(--color-text-light);opacity:.75;margin-top:1px;font-size:.72rem;line-height:1.3}.chat-header-actions{gap:var(--space-sm);display:flex}.thread-menu-wrapper{position:relative}.thread-action-menu{z-index:100;background:#fff;border-radius:10px;min-width:180px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 4px 16px #0000001f,0 1px 4px #0000000f}.thread-action-item{cursor:pointer;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:.9rem;transition:background .15s;display:flex}.thread-action-item:hover{background:#0000000a}.thread-action-danger{color:#dc3545}.thread-action-danger:hover{background:#dc35450f}.thread-action-disabled{color:#999;cursor:default;pointer-events:none;font-style:italic}.mobile-only{display:none}.filters-container{gap:var(--space-sm);background:var(--color-bg-alt);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);transition:max-height var(--transition-base),opacity var(--transition-base),padding var(--transition-base);opacity:1;flex-wrap:wrap;flex-shrink:0;max-height:200px;display:flex;overflow:hidden}.filters-container.collapsed{opacity:0;border:none;max-height:0;padding-top:0;padding-bottom:0}.filter-group{align-items:center;gap:var(--space-sm);display:flex}.filter-group label{font-size:var(--font-size-sm);color:var(--color-text-light)}.filter-group select,.filter-group input{border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:var(--font-size-sm);padding:6px 10px}.chat-messages{padding:24px var(--space-lg) 16px;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex-direction:column;flex-grow:1;gap:10px;min-height:0;display:flex;overflow:hidden auto}.chat-messages::-webkit-scrollbar{width:4px}.chat-messages::-webkit-scrollbar-track{background:0 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.empty-chat-state{justify-content:center;align-items:center;gap:var(--space-md);height:100%;color:var(--color-text-light);text-align:center;padding:var(--space-xl);-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.empty-chat-state-icon{opacity:.35;font-size:2.5rem;line-height:1}.empty-chat-state-text{font-size:var(--font-size-base);color:var(--text-muted);max-width:260px;font-style:italic;line-height:1.5}.message-wrapper{gap:var(--space-sm);max-width:100%;display:flex}.message-mine{flex-direction:row-reverse;align-self:flex-end}.message-other{align-self:flex-start}.message-avatar{color:#fff;width:36px;height:36px;font-weight:700;font-size:var(--font-size-base);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-top:auto;display:flex}.message-bubble-container{flex-direction:column;gap:2px;display:flex}.message-sender{display:none}.message-bubble-sender{color:var(--brand-primary,#3f7b63);margin-bottom:2px;font-size:.7rem;font-weight:700;line-height:1.2}.message-bubble{border-radius:20px;flex-direction:column;gap:2px;padding:12px 16px;line-height:1.4;display:flex;position:relative;box-shadow:0 1px 3px #0000000f}.message-mine .message-bubble{background-color:var(--brand-primary,#3f7b63);color:#fff;border-radius:20px 20px 4px}.message-other .message-bubble{color:var(--text-main);background-color:#fbfaf8;border:1px solid #0000000f;border-radius:20px 20px 20px 4px}.message-content{font-size:var(--font-size-base);word-break:break-word;margin:0;padding:0;line-height:1.4}.message-meta{opacity:0;transition:opacity var(--transition-fast);justify-content:flex-end;align-items:center;margin:0;padding:0;display:flex}.message-wrapper:hover .message-meta{opacity:1}.delete-note-btn{color:#0000004d;cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:.8rem;display:flex}.delete-note-btn:hover{color:var(--color-danger)}.msg-action-btn{cursor:pointer;opacity:.6;transition:opacity var(--transition-fast),transform var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0 2px;font-size:.85rem;line-height:1;display:flex}.msg-action-btn:hover{opacity:1;transform:scale(1.15)}.msg-action-btn:disabled{opacity:.3;cursor:not-allowed;transform:none}.message-resolved-badge{opacity:.7;flex-shrink:0;margin-left:2px;font-size:.7rem;line-height:1}.message-resolved .message-bubble{opacity:.75}.dialog-field{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.dialog-field:last-child{margin-bottom:0}.dialog-field label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500}.dialog-field select.dialog-input{border-radius:var(--radius-sm);border:1px solid var(--color-border);font-size:var(--font-size-base);background-color:var(--color-bg);color:var(--color-text);transition:border-color var(--transition-fast);outline:none;padding:8px 10px;font-family:inherit}.dialog-field select.dialog-input:focus{border-color:var(--color-primary)}.chat-footer-wrapper{width:100%;z-index:var(--z-sticky);background-color:#0000;flex-direction:column;flex-shrink:0;gap:8px;padding:12px 16px 32px;display:flex;position:relative}.chat-actions-row{padding-left:40px;display:flex}.btn-chip{color:var(--color-text,#374151);cursor:pointer;white-space:nowrap;background-color:#fff;border:1px solid #0000001a;border-radius:16px;padding:6px 12px;font-family:inherit;font-size:.85rem;transition:background .15s,box-shadow .15s;box-shadow:0 2px 4px #00000005}.btn-chip:hover{background:#f5f5f5;box-shadow:0 2px 6px #0000000f}.btn-chip:active{background:#eee}.btn-chip.btn-chip-action{border-color:var(--color-primary,#3f7b63);color:var(--color-primary,#3f7b63);align-items:center;gap:6px;font-weight:500;display:flex}.btn-chip.btn-chip-action:hover{border-color:var(--color-primary,#3f7b63);background:#3f7b630f}.btn-chip.btn-chip-action svg{flex-shrink:0}.chat-input-row{align-items:center;gap:12px;width:100%;display:flex}.icon-btn.attach-btn{color:#666;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:10px 4px;transition:color .15s;display:flex}.icon-btn.attach-btn:hover{color:#222}.fake-input-wrapper.pill-shape{background-color:#fff;border:1px solid #0000000a;border-radius:24px;outline:none;flex:1;align-items:center;padding:4px 4px 4px 20px;display:flex;box-shadow:0 2px 8px #0000000f}.transparent-text-input{resize:none;color:var(--color-text,#1f2937);background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:120px;margin-bottom:2px;padding:10px 0;font-family:inherit;font-size:.95rem;line-height:1.5;transition:height .15s;overflow-y:auto}.transparent-text-input:focus{box-shadow:none!important;outline:none!important}.transparent-text-input::placeholder{color:#9ca3af}.send-message-btn{background-color:var(--color-primary,#3f7b63);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;min-height:36px;margin-left:12px;padding:0;transition:background-color .15s,transform .1s;display:flex}.send-message-btn:hover{background-color:var(--color-primary-dark,#2d6b4f);transform:scale(1.05)}.send-message-btn:active{transform:scale(.95)}.send-message-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.button-icon{color:var(--color-text-light);cursor:pointer;width:36px;height:36px;transition:background-color var(--transition-fast),color var(--transition-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex}.button-icon:hover{background-color:var(--color-bg-hover);color:var(--color-primary)}.handover-panel{border-top:1px solid var(--color-border);background:var(--bg-card);flex-direction:column;gap:12px;padding:14px 16px 12px;animation:.18s slideUpPanel;display:flex}@keyframes slideUpPanel{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.handover-panel-header{color:var(--color-text);justify-content:space-between;align-items:center;font-size:13px;font-weight:600;display:flex}.handover-panel-header i{color:var(--color-primary,#5d9b62);margin-right:6px}.handover-checklist{flex-direction:column;gap:6px;display:flex}.handover-item{cursor:pointer;color:var(--color-text);-webkit-user-select:none;user-select:none;border-radius:8px;align-items:center;gap:10px;padding:5px 8px;font-size:13.5px;transition:background .12s;display:flex}.handover-item:hover{background:#f0fdf4}.handover-item input[type=checkbox]{appearance:none;cursor:pointer;border:2px solid #d1d5db;border-radius:5px;flex-shrink:0;width:18px;height:18px;transition:border-color .15s,background .15s;position:relative}.handover-item input[type=checkbox]:checked{background:var(--color-primary,#5d9b62);border-color:var(--color-primary,#5d9b62)}.handover-item input[type=checkbox]:checked:after{content:"";border:2px solid #fff;border-top:none;border-left:none;width:5px;height:9px;position:absolute;top:2px;left:5px;transform:rotate(45deg)}.handover-note-row input{border:1px solid var(--color-border);background:var(--color-bg-alt);width:100%;color:var(--color-text);border-radius:8px;outline:none;padding:7px 10px;font-family:inherit;font-size:13px;transition:border-color .15s,box-shadow .15s}.handover-note-row input:focus{border-color:var(--color-primary,#5d9b62);box-shadow:0 0 0 3px #5d9b621f}.handover-panel-footer{justify-content:flex-end;gap:8px;display:flex}.btn-ghost-secondary{border:1px solid var(--color-border);color:var(--color-text-light);cursor:pointer;background:0 0;border-radius:8px;padding:6px 14px;font-size:13px;transition:background .12s,color .12s}.btn-ghost-secondary:hover{background:var(--color-bg-alt);color:var(--color-text)}.msg-protocol{flex-direction:column;gap:2px;display:flex}.msg-line{line-height:1.5;display:block}.msg-spacer{height:6px;display:block}.msg-cb{align-items:baseline;gap:7px;padding:1px 0;font-size:13px;line-height:1.6;display:flex}.msg-cb-done{color:#16a34a}.msg-cb-todo{color:#9ca3af}.msg-cb-done span{color:inherit}.msg-cb-todo span{color:inherit;opacity:.75}.message-mine .msg-cb-done{color:#bbf7d0}.message-mine .msg-cb-todo{color:#ffffff8c}.message-mine .msg-cb-done span{color:#fff}.message-mine .msg-cb-todo span{color:#fffc}@media(max-width:768px){.notes-layout{grid-template-columns:1fr;gap:0;height:100%;overflow-y:auto}.notes-sidebar{width:100%;height:100%;box-shadow:none;-webkit-backdrop-filter:none;padding:var(--space-md);background:#f8faf9;border:none;border-radius:0}.notes-chat-area-wrapper{box-shadow:none;border-radius:0}.notes-chat-area{flex-direction:column;width:100%;height:100%;max-height:100%;display:none;overflow:hidden}.notes-chat-area:not([style*="display: none"]),.mobile-only{display:flex}.chat-messages{padding:12px}.chat-footer-wrapper{padding:8px 10px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.chat-input-row{gap:8px}.chat-actions-row{padding-left:40px}.message-wrapper{max-width:88%}.message-meta{opacity:1}.msg-action-btn{opacity:.5;min-width:32px;min-height:32px;padding:2px 4px;font-size:.95rem}body.page-notes,body.page-notes .app-wrapper{height:100dvh;overflow:hidden}body.page-notes .app-container{height:100dvh!important;min-height:0!important;overflow:hidden!important}body.page-notes #page-container{flex-direction:column;min-height:0;display:flex;flex-grow:1!important;overflow:hidden!important}body.page-notes .notes-layout{flex-grow:1;height:100%;min-height:0;overflow:hidden}}.context-menu-backdrop{z-index:var(--z-modal,100);background:#00000014;position:fixed;inset:0}.message-context-menu{z-index:calc(var(--z-modal,100) + 1);-webkit-user-select:none;user-select:none;text-align:left;background:#fff;border:1px solid #0000000d;border-radius:12px;min-width:200px;max-width:240px;padding:8px;overflow:hidden;box-shadow:0 8px 24px #0000001f,0 1px 4px #0000000a}.context-menu-reactions{border-bottom:1px solid #00000014;justify-content:space-around;margin-bottom:4px;padding:4px 4px 8px;display:flex}.context-menu-reaction-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:4px;font-size:1.2rem;transition:background .1s,transform .1s;display:flex}.context-menu-reaction-btn:hover{background:#0000000a;transform:scale(1.2)}.context-menu-reaction-btn.active{background:#5d9b621f}.context-menu-divider{background-color:#00000014;height:1px;margin:4px 0}.context-menu-item{width:100%;color:var(--color-text,#1f2937);cursor:pointer;text-align:left;letter-spacing:.01em;background:0 0;border:none;border-radius:8px;justify-content:flex-start;align-items:center;gap:12px;padding:8px 12px;font-family:inherit;font-size:.9rem;font-weight:500;transition:background .12s,color .12s;display:flex}.context-menu-item .menu-icon{color:#666;flex-shrink:0;width:18px;height:18px;transition:color .12s}.context-menu-item:hover{color:var(--color-primary,#5d9b62);background-color:#5d9b6214}.context-menu-item:hover .menu-icon{color:var(--color-primary,#5d9b62)}.context-menu-item:active{background:#5d9b6224}.context-menu-item-danger,.context-menu-item-danger .menu-icon{color:#d32f2f}.context-menu-item-danger:hover{color:#d32f2f;background-color:#d32f2f14}.context-menu-item-danger:hover .menu-icon{color:#d32f2f}.message-bubble-outer{flex-direction:column;display:flex}.message-action-trigger{color:#0000004d;cursor:pointer;opacity:0;z-index:2;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-size:0;line-height:1;transition:opacity .15s,transform .2s,color .15s;display:flex;position:absolute;top:50%;left:-28px;transform:translateY(-50%)}.message-action-trigger:active{color:#00000080;transform:translateY(-50%)scale(.8)}.message-mine .message-action-trigger{color:#0000004d;left:-28px;right:auto}.message-mine .message-action-trigger:hover{color:#0009}.message-other .message-action-trigger{color:#0000004d;left:-28px;right:auto}.message-other .message-action-trigger:hover{color:#0009}.message-bubble:hover>.message-action-trigger{opacity:1}@media(max-width:768px){.message-action-trigger{opacity:.6}}.reaction-bar{flex-wrap:wrap;gap:4px;margin-top:2px;padding:0 4px;display:flex}.message-mine .reaction-bar{justify-content:flex-end}.reaction-badge{border:1px solid var(--color-border-light,#e5e7eb);background:var(--color-bg,#fff);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;align-items:center;gap:3px;padding:2px 8px;font-size:.75rem;transition:background .12s,border-color .12s,transform .1s;display:flex}.reaction-badge:hover{background:var(--color-bg-hover,#f3f4f6);transform:scale(1.05)}.reaction-badge-mine{background:#5d9b6214;border-color:#5d9b6266}.reaction-emoji{font-size:.85rem;line-height:1}.reaction-count{color:var(--color-text-light,#6b7280);font-size:.7rem;font-weight:600}.message-reply-quote{border-left:4px solid var(--color-primary,#5d9b62);cursor:pointer;background:#0000000f;border-radius:6px;flex-direction:column;gap:2px;margin-bottom:6px;padding:6px 10px;transition:background .12s;display:flex}.message-reply-quote:hover{background:#0000001a}.reply-quote-author{color:var(--color-primary,#5d9b62);font-size:.75rem;font-weight:600}.reply-quote-text{color:var(--color-text-light,#6b7280);text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:.8rem;line-height:1.3;overflow:hidden}.message-mine .message-reply-quote{background:#ffffff2e;border-left-color:#fff9}.message-mine .message-reply-quote:hover{background:#ffffff40}.message-mine .reply-quote-author{color:#fff;font-weight:700}.message-mine .reply-quote-text{color:#ffffffd9}.reply-preview{background:var(--color-bg-alt,#f9fafb);border-bottom:1px solid var(--color-border,#e5e7eb);border-left:3px solid var(--color-primary,#5d9b62);align-items:center;gap:8px;padding:8px 12px;animation:.15s slideUpPanel;display:flex}.reply-preview-content{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.reply-preview-author{color:var(--color-primary,#5d9b62);font-size:.75rem;font-weight:600}.reply-preview-text{color:var(--color-text-light,#6b7280);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.reply-preview-close{color:var(--color-text-light,#6b7280);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:4px;transition:background .12s,color .12s;display:flex}.reply-preview-close:hover{background:var(--color-bg-hover);color:var(--color-text)}.message-footer{flex-shrink:0;align-items:center;gap:4px;margin-top:2px;display:flex}.message-time{color:#0006;white-space:nowrap;align-items:center;gap:3px;font-size:.65rem;display:flex}.message-mine .message-time{color:#ffffff8c}.message-mine .message-edited-label{color:#ffffff73}.message-edited-label{color:#00000059;font-size:.6rem;font-style:italic}.message-pin-badge{font-size:.65rem;line-height:1}.date-separator{-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:8px 0;display:flex}.date-separator:before,.date-separator:after{content:"";background:linear-gradient(90deg,#0000,#0000001a,#0000);flex:1;height:1px}.date-separator-label{color:var(--color-text-light,#6b7280);letter-spacing:.02em;white-space:nowrap;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffb3;border:1px solid #0000000f;border-radius:10px;padding:3px 12px;font-size:.72rem;font-weight:600}.message-grouped{margin-top:-8px}.message-grouped .message-avatar{visibility:hidden;width:36px;height:0}.message-grouped .message-bubble{border-radius:16px}.message-mine.message-grouped .message-bubble{border-radius:16px 6px 6px 16px}.message-other.message-grouped .message-bubble{border-radius:6px 16px 16px 6px}.message-wrapper:has(+.message-grouped) .message-mine .message-bubble,.message-mine:has(+.message-mine.message-grouped) .message-bubble{border-radius:20px 20px 6px}.message-wrapper:has(+.message-grouped) .message-other .message-bubble,.message-other:has(+.message-other.message-grouped) .message-bubble{border-radius:20px 20px 20px 6px}.message-bubble-editing{min-width:200px;padding:8px!important}.message-edit-textarea{border:1px solid var(--color-border,#e5e7eb);width:100%;font-size:var(--font-size-base,.875rem);resize:vertical;background:var(--color-bg,#fff);border-radius:8px;outline:none;min-height:40px;max-height:150px;padding:6px 8px;font-family:inherit;transition:border-color .15s}.message-edit-textarea:focus{border-color:var(--color-primary,#5d9b62)}.message-edit-actions{justify-content:flex-end;gap:6px;margin-top:6px;display:flex}.message-edit-save{min-height:unset!important;border-radius:6px!important;padding:4px 12px!important;font-size:.8rem!important}@keyframes highlightFlash{0%{background:#5d9b6240}to{background:0 0}}.message-highlight>.message-bubble,.message-highlight>.message-bubble-container>.message-bubble-outer>.message-bubble{animation:1.5s ease-out highlightFlash}.message-meta{display:none}@media(max-width:768px){.message-context-menu{min-width:220px;max-width:260px;padding:8px}.context-menu-reaction-btn{width:44px;height:44px;font-size:1.3rem}.context-menu-item{min-height:44px;padding:10px 12px}.reply-preview{padding:6px 10px}}.chat-avatar-remaining{background:var(--color-bg-alt,#f0f0f0);border:2px solid var(--bg-app,#f4f7f5);width:28px;height:28px;color:var(--color-text-light,#6b7280);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:-8px;font-size:.65rem;font-weight:700;display:flex}.load-more-indicator{flex-shrink:0;justify-content:center;padding:12px 0 8px;display:flex}.load-more-btn{padding:6px 16px;font-size:.8rem}.load-more-spinner{border:2px solid var(--color-border,#e5e7eb);border-top-color:var(--color-primary,#3f7b63);border-radius:50%;width:24px;height:24px;animation:.7s linear infinite spin}.icon-btn.attach-btn:disabled{opacity:.3;cursor:not-allowed}.shopping-page{border-radius:var(--radius-xl);min-height:0;box-shadow:var(--shadow-lg);background:linear-gradient(#f0f4f1,#e8ede9,#f4f7f5);flex-direction:column;flex-grow:1;width:100%;display:flex;overflow:hidden}.shopping-switcher-bar{flex-shrink:0;justify-content:center;width:100%;padding:20px 20px 0;display:flex}.shopping-switcher-bar--mobile{display:none}.shopping-switcher-bar--desktop{display:flex}.detail-view-switcher{display:contents}.detail-view-switcher-track{background:#ffffffb3;border-radius:9999px;gap:0;width:340px;max-width:85vw;padding:4px;display:inline-flex;box-shadow:0 1px 4px #0000000f}.detail-view-switcher-btn{font-size:.875rem;font-weight:500;font-family:var(--font-family);color:var(--color-text-muted,#64748b);cursor:pointer;white-space:nowrap;z-index:1;background:0 0;border:none;border-radius:9999px;outline:none;flex:1;padding:9px 12px;line-height:1.3;transition:color .2s;position:relative}.detail-view-switcher-btn.is-active{color:var(--color-primary-dark,#1a4731);font-weight:600}.detail-view-switcher-btn:not(.is-active):hover{color:var(--text-main,#1a2721)}.detail-view-switcher-label{z-index:2;position:relative}.detail-view-switcher-pill{background:var(--bg-card);z-index:0;border-radius:9999px;position:absolute;inset:0;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.switcher-badge-count{color:#fff;z-index:2;background:#dc2626;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:4px;padding:0 5px;font-size:.68rem;font-weight:700;line-height:1;display:inline-flex;position:relative}.detail-view-switcher-btn.is-active .switcher-badge-count{color:#fff;background:#dc2626}.shopping-layout{flex:1;min-height:0;display:flex;overflow:hidden}.shopping-right-col{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.shopping-master{-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-xl) 0 0 var(--radius-xl);background:#ffffffe0;border-right:1px solid #fff9;flex-direction:column;flex-shrink:0;align-self:stretch;width:300px;min-width:260px;max-width:300px;min-height:0;display:flex;overflow:hidden}.master-heading{color:var(--text-main);flex-shrink:0;order:-2;margin:0;padding:14px 14px 0;font-size:1.1rem;font-weight:700}.master-new-btn{background:var(--color-primary);color:var(--text-on-primary);border-radius:var(--radius-md);font-size:.9rem;font-weight:600;font-family:var(--font-family);cursor:pointer;transition:background var(--transition-fast),transform .1s;text-align:center;border:none;flex-shrink:0;order:-1;margin:10px 12px;padding:10px 16px}.master-new-btn:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.master-new-btn:active{transform:scale(.98)}.master-list{flex:1;padding:4px 0 8px;overflow-y:auto}.master-list::-webkit-scrollbar{width:4px}.master-list::-webkit-scrollbar-track{background:0 0}.master-list::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.master-item{cursor:pointer;border-radius:var(--radius-md,10px);border:none;justify-content:space-between;align-items:center;gap:8px;margin:0 12px 3px;padding:10px 14px;transition:background .15s;display:flex}.master-item:hover{background:var(--bg-hover,#e8ece9)}.master-item.is-active{background:#f1f5f9}.master-item.is-active .master-item-name{color:var(--color-primary-dark);font-weight:600}.master-item.is-complete .master-item-name{color:var(--color-text-light)}.master-item-info{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.master-item-name{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:500;line-height:1.3;overflow:hidden}.master-item-meta{color:var(--color-text-muted);letter-spacing:.01em;font-size:.72rem}.master-item-actions{flex-shrink:0;align-items:center;gap:2px;margin-left:auto;display:flex}.master-action-btn{width:28px;height:28px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.master-action-btn:hover{background:var(--color-bg-hover,#e8ece9);color:var(--color-text)}.master-action-delete:hover{background:var(--color-danger-bg,#fef2f2);color:var(--color-danger,#dc2626)}.master-action-archive:hover{background:var(--color-success-bg,#ecfdf5);color:var(--color-success-text,#059669)}.master-action-btn svg{width:14px;height:14px}.master-item-badge{background:var(--color-bg-hover);color:var(--color-text-light);white-space:nowrap;border-radius:10px;flex-shrink:0;padding:2px 8px;font-size:.72rem;font-weight:600}.master-item-badge.badge-done{background:var(--color-success-bg);color:var(--color-success-text)}.master-empty{text-align:center;color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:32px 16px;display:flex}.master-empty-icon{opacity:.2;margin-bottom:4px;font-size:2rem}.master-empty p{margin:0;font-size:.88rem}.master-empty p.master-empty-hint{color:var(--color-text-light);font-size:.78rem}.skeleton-list-item--master{border-radius:10px;margin:0 16px 12px}.skeleton-list-item--master .skeleton-list-text{flex:1}.skeleton-list-item--master .skeleton-text.medium{margin-bottom:6px}.error-text{padding:16px}.shopping-detail{background:0 0;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow-y:auto}.shopping-detail::-webkit-scrollbar{width:5px}.shopping-detail::-webkit-scrollbar-track{background:0 0}.shopping-detail::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.detail-placeholder{color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:48px;display:flex}.detail-placeholder-icon{opacity:.2;margin-bottom:8px;font-size:3rem}.detail-placeholder-title{color:var(--text-muted);margin:0;font-size:1.05rem;font-weight:600}.detail-placeholder-hint{color:var(--text-placeholder);margin:0;font-size:.85rem}.detail-placeholder p{margin:0;font-size:.95rem}.detail-back-btn{cursor:pointer;font-size:.88rem;font-weight:500;font-family:var(--font-family);color:var(--color-primary);border-radius:var(--radius-sm,6px);min-width:var(--touch-target-min);min-height:var(--touch-target-min);white-space:nowrap;background:0 0;border:none;flex-shrink:0;align-self:flex-start;align-items:center;gap:4px;padding:6px 10px;transition:all .15s;display:none}.detail-back-btn:hover{background:var(--color-primary-bg)}.detail-item{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:#5d9b6214;border-bottom:1px solid #f1f5f9;align-items:center;gap:12px;padding:10px 14px;transition:background .12s;display:flex}.detail-item:hover{background:var(--bg-app,#f4f7f5)}.detail-item:active{background:var(--color-primary-bg)}.detail-item:last-child{border-bottom:none}.item-checkbox{border:2px solid var(--border-strong,#e5e7eb);box-sizing:border-box;color:#0000;pointer-events:none;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;min-width:22px;height:22px;min-height:22px;transition:border-color .18s,background .18s,transform .15s;display:flex}.detail-item:hover .item-checkbox:not(.is-checked){border-color:var(--color-success,#22c55e);transform:scale(1.08)}.item-checkbox.is-checked{background:var(--color-success,#22c55e);border-color:var(--color-success,#22c55e);color:var(--text-on-primary);animation:.25s cubic-bezier(.2,.8,.2,1) checkPop}@keyframes checkPop{0%{transform:scale(.8)}50%{transform:scale(1.15)}to{transform:scale(1)}}.detail-item-name{color:var(--text-main,#1a2721);word-break:break-word;flex:1;min-width:0;font-size:.95rem;font-weight:500;line-height:1.5;transition:color .15s,-webkit-text-decoration .15s,text-decoration .15s}.detail-item.is-purchased{opacity:.45}.detail-item.is-purchased:hover{opacity:.7}.detail-item.is-purchased .detail-item-name{color:var(--color-text-muted);font-weight:400;text-decoration:line-through;text-decoration-thickness:1.5px}.detail-item.is-from-home{opacity:.5}.detail-item.is-from-home:hover{opacity:.7}.detail-item.is-from-home .detail-item-name{color:#92400e;font-weight:400;text-decoration:line-through;text-decoration-thickness:1.5px}.detail-item.is-essential{background-color:#0000}.from-inventory-badge{color:var(--color-primary,#5d9b62);white-space:nowrap;background:#5d9b6214;border:1px solid #5d9b6240;border-radius:4px;flex-shrink:0;padding:2px 7px;font-size:.68rem;font-weight:500}.purchased-by-badge{background-color:var(--color-bg-alt,#e5e7eb);width:22px;min-width:22px;height:22px;min-height:22px;color:var(--color-text,#111827);text-transform:uppercase;border:1px solid var(--color-border,#e5e7eb);box-sizing:border-box;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.detail-item-actions{opacity:0;flex-shrink:0;align-items:center;gap:2px;margin-left:auto;transition:opacity .12s;display:flex}.detail-item:hover .detail-item-actions,.detail-item:focus-within .detail-item-actions,.detail-item-actions:has(.is-active),.detail-item.is-purchased .detail-item-actions,.detail-item.is-from-home .detail-item-actions{opacity:1}.detail-item.is-purchased .btn-home,.detail-item.is-purchased .btn-essential,.detail-item.is-purchased .critical-badge,.detail-item.is-from-home .btn-essential,.detail-item.is-from-home .critical-badge{display:none}.btn-action{cursor:pointer;width:28px;height:28px;color:var(--color-text-muted,#6b7280);background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:5px;transition:background .15s,color .15s,transform .1s;display:flex}.btn-action:hover{background:var(--bg-hover,#f3f4f6);color:var(--color-text,#111827)}.btn-action:active{transform:scale(.92)}.btn-home{opacity:.5;color:var(--color-text-muted)}.btn-home:hover{opacity:1;color:#d97706;background:#f59e0b1a}.btn-home.is-active{opacity:1;color:#d97706;background:#f59e0b1f}.btn-essential{opacity:.4;background:0 0}.btn-essential:hover{opacity:1;background:#5d9b6214}.btn-essential.is-active{opacity:1}.btn-essential:hover .critical-badge{color:var(--color-primary,#5d9b62)}.critical-badge{color:var(--color-text-muted,#9ca3af);pointer-events:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:400;line-height:1;transition:color .15s,transform .15s;display:inline-flex}.critical-badge.is-active{color:var(--color-primary,#5d9b62);transform:scale(1.1)}.btn-delete-item{cursor:pointer;color:#0000;border-radius:var(--radius-sm);background:0 0;border:none;flex-shrink:0;padding:4px 5px;font-size:12px;line-height:1;transition:color .15s,background .15s}.detail-item:hover .btn-delete-item{color:var(--color-text-light)}.detail-item:hover .btn-delete-item:hover{color:var(--color-danger);background:#fee2e2}.btn-icon-action{color:var(--color-text-muted,#9ca3af);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;min-width:32px;min-height:32px;padding:6px;font-size:.85rem;line-height:1;transition:all .15s;display:flex}.btn-icon-action svg{flex-shrink:0;width:18px;height:18px}.btn-icon-action:hover{color:var(--color-text,#374151);background:var(--color-bg-hover)}.btn-icon-action.btn-icon-danger:hover{color:var(--color-danger);background:var(--color-danger-light)}.btn-icon-action.btn-icon-success:hover,.btn-icon-action.btn-icon-share:hover{color:var(--color-primary);background:#5d9b621a}.add-form-submit-btn{background-color:var(--brand-primary);width:42px;height:42px;color:var(--text-on-primary);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast),opacity var(--transition-fast);border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;font-weight:900;display:flex;box-shadow:0 4px 6px -1px #3f7b634d}.add-form-submit-btn:hover:not(:disabled){background-color:var(--brand-primary-hover)}.add-form-submit-btn:disabled{opacity:.4;cursor:not-allowed}.badge{text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:.75rem;font-weight:600}.badge-full{color:#166534;background:#dcfce7}.badge-low{color:#92400e;background:#fef3c7}.badge-empty{background:var(--color-danger-light);color:var(--color-danger-text)}.detail-content-wrapper{flex-direction:column;flex:1;align-items:center;width:100%;padding:24px 24px 64px;display:flex}.pantry-view-root{overflow:hidden}.pantry-content-wrapper{flex:1;min-height:0;padding-bottom:0;overflow:hidden}.pantry-inner-container{flex:1;min-height:0;overflow:hidden}.pantry-sticky-header{border-bottom:1px solid #0000000f;flex-direction:column;flex-shrink:0;gap:20px;padding-bottom:20px;display:flex}.pantry-add-section{flex-direction:column;display:flex}.pantry-add-toggle{display:none}.pantry-add-form-collapse{display:block}.pantry-add-toggle-chevron{margin-left:auto;transition:transform .2s}.pantry-add-toggle-chevron.is-open{transform:rotate(180deg)}.pantry-scroll-area{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding-top:8px;overflow-y:auto}.pantry-scroll-area::-webkit-scrollbar{width:5px}.pantry-scroll-area::-webkit-scrollbar-track{background:0 0}.pantry-scroll-area::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.detail-inner-container{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl,16px);background:#ffffffb8;border:1px solid #ffffffb3;flex-direction:column;gap:20px;width:100%;max-width:900px;padding:28px 32px 36px;display:flex;box-shadow:0 2px 12px #0000000a}.detail-page-header{padding-left:0}.detail-back-row{align-items:center;gap:12px;margin-bottom:16px;display:flex}.detail-page-title{color:var(--text-main);letter-spacing:-.025em;margin:0;font-size:26px;font-weight:800;line-height:1.15}.detail-title-text{cursor:pointer;border-radius:var(--radius-sm);align-items:center;gap:6px;margin:-2px -4px;padding:2px 4px;transition:background .15s;display:inline-flex}.detail-title-text:hover{background:#0000000a}.detail-title-edit-icon{opacity:0;color:var(--text-muted);flex-shrink:0;transition:opacity .15s}.detail-title-text:hover .detail-title-edit-icon{opacity:.5}.detail-title-edit{font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;color:inherit;border:1px solid var(--brand-primary);border-radius:var(--radius-sm);background:var(--bg-card);width:100%;box-shadow:var(--focus-ring);outline:none;margin:-3px -7px;padding:2px 6px}.detail-header-row{align-items:center;gap:12px;margin-top:6px;display:flex}.detail-page-subtitle{color:var(--text-muted);white-space:nowrap;flex-shrink:0;font-size:14px;font-weight:600}.detail-inline-form{flex:1;align-items:center;gap:8px;display:flex}.detail-inline-form .add-form-submit-btn{width:38px;height:38px;font-size:1.2rem}.detail-form-card{border-radius:var(--radius-lg);background-color:#ffffff8c;border:1px solid #fff9;width:100%;padding:20px 24px}.detail-add-form-row{align-items:flex-end;gap:12px;display:flex}.detail-add-form-field{flex:1}.detail-form-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-size:11px;font-weight:700;display:block}.detail-form-input{border-radius:var(--radius-md);border:1px solid var(--color-border,var(--border-strong));width:100%;font-size:var(--font-size-sm);color:var(--text-main);background-color:var(--bg-card);font-family:var(--font-family);outline:none;padding:10px 16px;transition:border-color .2s,box-shadow .2s;box-shadow:inset 0 1px 2px #0000000d}.detail-form-input:focus{border-color:var(--brand-primary);box-shadow:var(--focus-ring)}.detail-items-card{border-radius:var(--radius-md);background-color:#ffffffa6;border:1px solid #fff9;overflow:hidden;box-shadow:0 1px 4px #00000008}.detail-empty-state{text-align:center;color:var(--text-placeholder);flex-direction:column;align-items:center;padding:64px 0;display:flex}.detail-empty-state img{margin:0 auto 16px;display:block}.detail-empty-state-icon{margin-bottom:16px;font-size:48px}.detail-empty-state-title{color:var(--text-muted);font-size:18px;font-weight:600}.detail-empty-state-text{margin-top:4px;font-size:14px}.pantry-form-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:flex-end;gap:16px;display:grid}.pantry-form-col-4{grid-column:span 4}.pantry-form-col-3{grid-column:span 3}.pantry-form-col-2{grid-column:span 2}.pantry-form-col-1{grid-column:span 1;justify-content:flex-end;display:flex}.add-form-submit-btn--full-width{width:100%}.pantry-filter-bar{scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding:0 2px 4px;display:flex;overflow-x:auto}.pantry-filter-bar::-webkit-scrollbar{display:none}.pantry-filter-chip{border:1.5px solid var(--border-strong);background:var(--bg-card);color:var(--text-muted);font-size:.82rem;font-weight:500;font-family:var(--font-family);cursor:pointer;white-space:nowrap;border-radius:9999px;flex-shrink:0;align-items:center;gap:6px;padding:7px 14px;line-height:1.3;transition:all .18s;display:inline-flex}.pantry-filter-chip:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:#3f7b630a}.pantry-filter-chip.is-active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff;box-shadow:0 2px 8px #3f7b6340}.pantry-filter-chip.is-danger:not(.is-active){color:#dc2626;background:#fef2f2;border-color:#fca5a5}.pantry-filter-chip.is-danger.is-active{color:#fff;background:#dc2626;border-color:#dc2626;box-shadow:0 2px 8px #dc262640}.pantry-filter-chip-count{background:#00000014;border-radius:9999px;padding:1px 6px;font-size:.72rem;font-weight:700;line-height:1.4}.pantry-filter-chip.is-active .pantry-filter-chip-count{background:#ffffff40}.pantry-bulk-chip{color:#b91c1c;font-size:.82rem;font-weight:600;font-family:var(--font-family);cursor:pointer;white-space:nowrap;background:#fee2e259;border:1.5px dashed #ef444466;border-radius:9999px;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:7px 14px;line-height:1.3;transition:all .18s;display:inline-flex}.pantry-bulk-chip:hover{color:#991b1b;background:#fee2e299;border-color:#ef4444b3}.pantry-bulk-chip-icon{background:#ef444426;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:13px;font-weight:700;line-height:1;display:flex}.pantry-bulk-chip .pantry-filter-chip-count{color:#b91c1c;background:#ef444426}.bulk-list-selected{border-color:var(--brand-primary)!important;background:var(--brand-primary-light)!important}.inventory-row{border-bottom:1px solid #0000000d;grid-template-columns:72px 1fr auto;align-items:center;gap:12px;width:100%;padding:12px 16px;transition:background .15s;display:grid}.inventory-row:last-child{border-bottom:none}.inventory-row:hover{background:var(--bg-hover)}.inventory-row--empty{background-color:#fee2e21f}.inventory-row .badge{text-align:center;justify-self:start;min-width:68px}.inventory-row-info{flex-direction:column;min-width:0;display:flex}.inventory-row-name{color:var(--text-main);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:500;line-height:1.4;overflow:hidden}.inventory-row-meta{color:var(--text-placeholder);flex-wrap:wrap;gap:10px;margin-top:1px;font-size:.75rem;line-height:1.3;display:flex}.inventory-row-actions{flex-shrink:0;align-items:center;gap:4px;display:flex}.inventory-row-in-cart{white-space:nowrap;color:var(--text-placeholder);font-size:.8rem}.inventory-row-add-btn{background:var(--border-light);color:var(--brand-primary);cursor:pointer;white-space:nowrap;font-size:12px;font-weight:600;font-family:var(--font-family);border:none;border-radius:8px;align-items:center;gap:6px;margin-right:6px;padding:5px 10px;transition:background .15s,color .15s;display:flex}.inventory-row-add-btn-icon{display:none}.inventory-row-add-btn:hover{background:var(--brand-primary-light);color:var(--brand-primary-hover)}.inventory-row-icon-btn{color:var(--text-placeholder);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;transition:color .15s,background .15s,opacity .15s;display:flex}.inventory-row:hover .inventory-row-icon-btn{opacity:1}.inventory-row-icon-btn:hover{color:var(--text-muted);background:var(--bg-hover)}.inventory-category-section{margin-bottom:16px}.inventory-category-section:last-child{margin-bottom:0}.inventory-category-heading{color:var(--text-placeholder);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:8px;padding:4px 8px;font-size:11px;font-weight:700}.essential-toggle-label{border:1.5px solid var(--color-border,#d1d5db);width:34px;min-width:34px;height:34px;color:var(--color-text-muted,#9ca3af);cursor:pointer;box-sizing:border-box;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:border-color .18s,color .18s,background .18s,box-shadow .18s;display:flex}.essential-toggle-label:hover{border-color:var(--color-primary,#5d9b62);color:var(--color-primary,#5d9b62);background:#5d9b620f}.essential-toggle-label input[type=checkbox]{display:none}.essential-toggle-icon{opacity:.6;pointer-events:none;font-size:.95rem;line-height:1;transition:opacity .15s,transform .15s}.essential-toggle-label input[type=checkbox]:checked+.essential-toggle-icon{opacity:1;transform:scale(1.15)}.essential-toggle-label:has(input:checked){background:var(--color-primary,#5d9b62);border-color:var(--color-primary,#5d9b62);color:#fff;box-shadow:0 0 0 3px #5d9b6226}.essential-toggle-label:has(input:checked):hover{background:#4a8a50;border-color:#4a8a50}.essential-toggle-label--form{border-radius:var(--radius-md,8px);justify-content:flex-start;gap:var(--space-sm,8px);width:100%;height:auto;min-height:44px;padding:8px 12px;font-size:.9rem}.essential-toggle-label--form:has(input:checked){background:var(--color-primary,#5d9b62);border-color:var(--color-primary,#5d9b62);color:#fff;box-shadow:0 0 0 3px #5d9b6226}.essential-toggle-row{background:var(--color-bg-secondary,#f8fafc);border-radius:var(--radius-md,10px);border:1px solid var(--color-border,#e5e7eb);cursor:pointer;align-items:flex-start;gap:12px;margin-top:4px;padding:14px 16px;transition:border-color .2s,background .2s;display:flex}.essential-toggle-row:hover{border-color:var(--color-primary,#5d9b62);background:#5d9b620a}.essential-toggle-row:has(input:checked){border-color:var(--color-primary,#5d9b62);background:#5d9b620f}.essential-toggle-checkbox{width:20px;min-width:20px;height:20px;accent-color:var(--color-primary,#5d9b62);cursor:pointer;border-radius:4px;margin-top:2px}.essential-toggle-text{flex-direction:column;gap:2px;display:flex}.essential-toggle-title{color:var(--color-text,#1a2721);cursor:pointer;font-size:.9rem;font-weight:600}.essential-toggle-desc{color:var(--color-text-secondary,#6b7280);font-size:.8rem;line-height:1.4}.modal-small{width:100%;max-width:420px!important}.modal-actions{text-align:right;margin-top:var(--space-lg)}.modal-divider{text-align:center;color:var(--color-text-muted,#9ca3af);margin:var(--space-sm) 0;font-size:.82rem;position:relative}.modal-divider:before,.modal-divider:after{content:"";background:var(--color-border,#e5e7eb);width:28%;height:1px;position:absolute;top:50%}.modal-divider:before{left:0}.modal-divider:after{right:0}.add-to-cart-list-btn{text-align:left;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:44px;padding:8px 12px;display:flex}.add-to-cart-list-btn:hover{background:var(--color-primary-light,#5d9b6214);border-color:var(--color-primary,#5d9b62);color:var(--color-primary,#5d9b62)}.atc-list-name{text-align:left;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.atc-list-count{color:var(--color-text-muted,#9ca3af);flex-shrink:0;font-size:.8rem}.inv-modal-footer{width:100%;margin-top:var(--space-lg,20px);padding-top:var(--space-md,16px);border-top:1px solid var(--color-border-light,#f3f4f6);justify-content:space-between;align-items:center;gap:8px;display:flex}.btn-modal-delete{color:var(--color-danger,#dc2626);cursor:pointer;border-radius:var(--radius-md,8px);white-space:nowrap;background:0 0;border:none;padding:8px 10px;font-size:.88rem;font-weight:500;transition:background .15s,color .15s}.btn-modal-delete:hover{background:var(--color-danger-light,#fee2e2);color:#b91c1c}.share-note-modal-content{max-width:460px}.share-note-subtitle{font-size:var(--font-size-sm);color:var(--color-text-light);margin:-8px 0 var(--space-md);font-style:italic}.share-note-step-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.6px;color:var(--color-text-light);margin:0 0 var(--space-sm);font-weight:700}.share-note-options{gap:var(--space-sm);margin-bottom:var(--space-lg);flex-direction:column;display:flex}.share-note-btn{align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-bg-alt);border:1.5px solid var(--color-border-light);border-radius:var(--radius-lg);cursor:pointer;text-align:left;font-family:var(--font-family);width:100%;transition:border-color .2s,background .2s,transform .15s;display:flex;position:relative}.share-note-btn:hover{background:var(--color-bg);border-color:var(--color-primary-light);transform:translateY(-1px)}.share-note-btn.is-selected{border-color:var(--color-primary);background:var(--color-primary-bg,#eff6ff)}.share-note-btn-urgent.is-selected,.share-note-btn-urgent:hover{background:#fffbeb;border-color:#f59e0b}.share-note-selected-mark{color:var(--color-primary);opacity:0;flex-shrink:0;margin-left:auto;font-size:13px;transition:opacity .15s}.share-note-btn.is-selected .share-note-selected-mark{opacity:1}.share-note-btn-urgent.is-selected .share-note-selected-mark{color:#f59e0b}.share-note-btn-icon{text-align:center;width:24px;color:var(--color-text-light);flex-shrink:0;font-size:1.3rem;line-height:1}.share-note-btn div{flex-direction:column;flex:1;gap:2px;display:flex}.share-note-btn strong{font-size:var(--font-size-base);color:var(--color-text);font-weight:600}.share-note-btn span{font-size:var(--font-size-xs);color:var(--color-text-light)}.share-note-target-section{border-top:1px solid var(--color-border-light);padding-top:var(--space-lg);margin-top:var(--space-sm);gap:var(--space-sm);flex-direction:column;display:flex}.share-note-thread-list{flex-direction:column;gap:4px;max-height:180px;display:flex;overflow-y:auto}.share-thread-option{align-items:center;gap:var(--space-sm);padding:8px var(--space-md);border:1.5px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-bg-alt);cursor:pointer;font-family:var(--font-family);font-size:var(--font-size-sm);color:var(--color-text);text-align:left;width:100%;transition:border-color .15s,background .15s;display:flex}.share-thread-option:hover{border-color:var(--color-primary-light);background:var(--color-bg)}.share-thread-option.is-selected{border-color:var(--color-primary);background:var(--color-primary-bg,#eff6ff);font-weight:600}.share-note-add-thread-btn{border:1.5px dashed var(--color-border);border-radius:var(--radius-md);padding:7px var(--space-md);font-size:var(--font-size-sm);color:var(--color-text-light);cursor:pointer;align-items:center;gap:var(--space-sm);font-family:var(--font-family);background:0 0;width:100%;transition:border-color .15s,color .15s;display:flex}.share-note-add-thread-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.share-note-new-thread-form{gap:var(--space-sm);padding:var(--space-sm) 0;flex-direction:column;display:flex}.share-note-new-thread-form input{width:100%}.share-note-send-row{padding-top:var(--space-sm);border-top:1px solid var(--color-border-light);margin-top:var(--space-sm);justify-content:flex-end;display:flex}@media(max-width:768px){.shopping-page{box-shadow:none;min-height:calc(100dvh - 140px - env(safe-area-inset-bottom,0px));border-radius:0}.mode-switcher-bar{padding:12px 16px 0}.mode-switcher-btn{padding:7px 16px;font-size:.82rem}.shopping-layout{flex-direction:column}.shopping-right-col{flex:1;min-height:0}.shopping-switcher-bar--mobile{display:flex}.shopping-switcher-bar--desktop{display:none}.shopping-master{width:100%;min-width:unset;max-width:unset;-webkit-backdrop-filter:none;background:0 0;border-bottom:none;border-right:none;border-radius:0;flex:1}.master-heading{padding:14px 14px 0;font-size:1.15rem}.master-new-btn{border-radius:var(--radius-md,10px);min-height:44px;margin:8px 14px 10px;font-size:.88rem}.master-list{flex:none;padding:0;overflow-y:visible}.master-item{border-radius:var(--radius-md,10px);background:#ffffffbf;border:1px solid #0000000a;min-height:52px;margin:0 14px 6px;padding:14px}.master-item:active{background:#ffffff80}.master-item.is-active{border-color:var(--brand-primary,#3f7b63);box-shadow:0 0 0 1px var(--brand-primary,#3f7b63);background:#ffffffeb}.master-item-actions{opacity:1!important}.master-action-btn{border-radius:50%;width:36px;height:36px}.master-action-btn svg{width:16px;height:16px}.master-empty{padding:40px 16px}.shopping-detail{flex:1;min-height:100%;display:none}.shopping-layout.detail-open .shopping-master{display:none}.shopping-layout.detail-open .shopping-detail{display:flex}.detail-back-btn{display:flex!important}.detail-inner-container{-webkit-backdrop-filter:none;border-radius:var(--radius-lg,12px);background:#ffffffeb;padding:20px 16px 28px}.detail-item{gap:10px;min-height:40px;padding:8px 12px}.detail-item-name{font-size:.88rem;line-height:1.3}.detail-inline-form .add-form-submit-btn{width:36px;height:36px;font-size:1.1rem}.detail-inline-form .detail-form-input{padding:8px 12px;font-size:.88rem}.detail-header-row{gap:8px}.detail-page-title{font-size:20px}.detail-title-edit-icon{opacity:.4}.detail-item-actions{opacity:1;gap:4px}.detail-item .btn-action{min-width:32px;min-height:32px}.detail-item .btn-delete-item{color:var(--color-text-muted);opacity:.6}.detail-item .from-inventory-badge{padding:1px 5px;font-size:.6rem}.master-item{min-height:48px;margin:0 10px 2px;padding:14px}.detail-delete-btn{padding:6px}.detail-delete-btn svg{width:18px;height:18px}.modal-actions{gap:var(--space-sm);flex-direction:column;display:flex;text-align:center!important}.modal-actions button{width:100%}.pantry-sticky-header{gap:8px;padding-bottom:8px}.pantry-sticky-header .detail-page-subtitle{display:none}.pantry-header-compact .detail-back-btn{display:none!important}.pantry-header-compact .detail-page-title{margin:0;font-size:1.2rem}.pantry-content-wrapper{padding:8px 0 0}.pantry-inner-container.detail-inner-container{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:none;border-radius:0;padding:14px 14px 28px}.pantry-add-toggle{border:1.5px dashed var(--border-strong,#d1d5db);border-radius:var(--radius-md,10px);width:100%;color:var(--brand-primary,#3f7b63);font-size:.85rem;font-weight:600;font-family:var(--font-family);cursor:pointer;background:#ffffff80;align-items:center;gap:8px;min-height:44px;padding:10px 14px;transition:background .15s,border-color .15s;display:flex}.pantry-add-toggle:active{border-color:var(--brand-primary,#3f7b63);background:#3f7b630f}.pantry-add-form-collapse{opacity:0;max-height:0;transition:max-height .3s,opacity .2s;overflow:hidden}.pantry-add-form-collapse.is-open{opacity:1;max-height:400px}.pantry-add-form-collapse>.detail-form-card{margin-top:10px}.pantry-add-form-collapse .detail-form-card{padding:12px}.pantry-form-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.pantry-form-col-4{order:1;grid-column:1/-1}.pantry-form-col-2{order:2}.pantry-form-col-3{order:3;grid-column:1/-1}.pantry-form-col-1{order:4;grid-column:1/-1}.pantry-form-grid .detail-form-label{margin-bottom:2px;font-size:.75rem}.add-form-submit-btn--full-width{width:100%;height:44px}.detail-content-wrapper{padding:16px 16px 48px}.pantry-filter-bar{gap:6px;padding-right:24px;-webkit-mask-image:linear-gradient(90deg,#000 80%,#0000 100%);mask-image:linear-gradient(90deg,#000 80%,#0000)}.pantry-filter-chip{padding:6px 10px;font-size:.76rem}.pantry-filter-chip-count{padding:0 5px;font-size:.66rem}.pantry-bulk-chip{padding:6px 10px;font-size:.76rem}.inventory-row{grid-template-columns:30px 1fr auto;gap:10px;padding:10px 14px}.inventory-row .badge{border-radius:50%;justify-content:center;align-items:center;width:30px;min-width:30px;height:30px;padding:0;font-size:0;display:flex}.inventory-row .badge:before{font-size:13px;font-weight:700;line-height:1}.inventory-row .badge.badge-full:before{content:"✓"}.inventory-row .badge.badge-low:before{content:"!"}.inventory-row .badge.badge-empty:before{content:"✕"}.inventory-row-name{font-size:.9rem}.inventory-row-meta{display:none}.inventory-row-actions{gap:2px}.inventory-row-in-cart{align-items:center;font-size:0;display:flex}.inventory-row-in-cart:before{content:"→";font-size:14px}.inventory-row-add-btn{width:36px;min-width:36px;height:36px;min-height:36px;color:var(--brand-primary,#3f7b63);border:1.5px solid var(--brand-primary,#3f7b63);background:0 0;border-radius:50%;justify-content:center;align-items:center;margin-right:0;padding:0;display:flex}.inventory-row-add-btn-icon{flex-shrink:0;display:block}.inventory-row-add-btn-text{display:none}.inventory-row-add-btn:before{content:none}.inventory-row-add-btn:hover,.inventory-row-add-btn:active{color:var(--brand-primary,#3f7b63);background:#3f7b6314}.inventory-row-icon-btn,.inventory-row-add-btn{opacity:1}.inventory-row-icon-btn{border-radius:50%;min-width:36px;min-height:36px}.inventory-row-icon-btn:active{background:var(--bg-hover,#0000000d)}.inventory-category-heading{letter-spacing:1.4px;margin-bottom:4px;padding:4px 14px;font-size:10px}.inventory-category-section{margin-bottom:10px}.pantry-scroll-area .detail-items-card{border-radius:var(--radius-md,10px)}.pantry-scroll-area{padding-top:4px}}@media(max-width:380px){.detail-item{gap:6px;padding:6px 10px}.detail-item-name{font-size:.82rem}.detail-item .from-inventory-badge{display:none}.master-item{margin:0 10px 4px;padding:12px 10px}.master-item-name{font-size:.84rem}.master-new-btn{margin:0 10px 8px}.inventory-row{gap:8px;padding:8px 10px}.inventory-row .badge{width:26px;min-width:26px;height:26px}.inventory-row .badge:before{font-size:11px}.inventory-row-name{font-size:.84rem}.inventory-row-add-btn{width:32px;min-width:32px;height:32px;min-height:32px}.inventory-row-add-btn:before{font-size:16px}.inventory-row-icon-btn{min-width:32px;min-height:32px}.pantry-filter-chip{padding:5px 8px;font-size:.72rem}.pantry-inner-container.detail-inner-container{padding:10px 10px 24px}.pantry-form-grid{grid-template-columns:1fr}.pantry-form-col-2{grid-column:1/-1}}.gallery-page-wrapper{flex-direction:column;flex-grow:1;min-height:0;padding:0;display:flex}.gallery-glass-card{border-radius:var(--radius-2xl,16px);background:#fffffff2}.gallery-view-container{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.gallery-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-light,#f1f5f9);justify-content:space-between;align-items:center;gap:var(--space-md);flex-shrink:0;min-height:64px;display:flex}.gallery-title{color:var(--text-main);white-space:nowrap;align-items:center;gap:8px;margin:0;font-size:1.25rem;font-weight:700;display:flex}.gallery-toolbar{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.gallery-search-wrapper{flex-shrink:0;align-items:center;display:flex;position:relative}.gallery-search-icon{color:var(--text-placeholder);pointer-events:none;position:absolute;left:10px}input.gallery-search-input{width:180px;height:36px;min-height:unset;border-radius:var(--radius-full,9999px);background:var(--bg-card);color:var(--text-main);box-shadow:none;padding:0 12px 0 32px;font-size:.85rem;transition:border-color .2s,box-shadow .2s,width .3s;border:1px solid var(--border-strong,#e5e7eb)!important}input.gallery-search-input:focus{outline:none;width:220px;box-shadow:0 0 0 3px #3f7b631a;border-color:var(--brand-primary)!important}select.gallery-sort-select{width:auto;height:36px;min-height:unset;border-radius:var(--radius-full,9999px);background:var(--bg-card);color:var(--text-main);cursor:pointer;appearance:none;box-shadow:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;flex-shrink:0;padding:0 28px 0 12px;font-size:.85rem;transition:border-color .2s;border:1px solid var(--border-strong,#e5e7eb)!important}select.gallery-sort-select:focus{outline:none;border-color:var(--brand-primary)!important}.gallery-new-album-btn{border-radius:var(--radius-full,9999px);align-items:center;gap:5px;height:36px;padding:0 16px;font-size:.85rem;display:flex}.gallery-tool-btn{border:1px solid var(--border-strong,#e5e7eb);border-radius:var(--radius-full,9999px);background:var(--bg-card);height:36px;color:var(--text-muted);cursor:pointer;align-items:center;gap:5px;padding:0 14px;font-size:.85rem;font-weight:500;transition:all .15s;display:flex}.gallery-tool-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-primary-light,#e8f4ef)}.gallery-tool-btn--active{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.gallery-tool-btn--active:hover{background:var(--brand-primary-hover,#1a2721);color:#fff}.gallery-tool-btn--danger{color:var(--raw-danger);border-color:var(--raw-danger-light)}.gallery-tool-btn--danger:hover:not(:disabled){background:var(--raw-danger-light);border-color:var(--raw-danger)}.gallery-tool-btn:disabled{opacity:.4;cursor:not-allowed}.gallery-upload-btn{border-radius:var(--radius-full,9999px);align-items:center;gap:5px;height:36px;padding:0 16px;font-size:.85rem;display:flex}.gallery-selection-bar{background:var(--bg-hover,#e8ece9);border-radius:var(--radius-full,9999px);align-items:center;gap:6px;padding:2px 8px;display:flex}.gallery-selection-count{color:var(--text-main);text-align:center;min-width:60px;font-size:.8rem;font-weight:600}.gallery-breadcrumb{align-items:center;gap:8px;display:flex}.gallery-back-btn{width:36px;height:36px;min-height:unset;border:1px solid var(--border-strong,#e5e7eb);background:var(--bg-card);background-color:var(--bg-card);color:var(--text-muted);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.gallery-back-btn:hover{border-color:var(--brand-primary);color:var(--brand-primary);background:var(--brand-primary-light,#e8f4ef);background-color:var(--brand-primary-light,#e8f4ef)}.gallery-breadcrumb-link{color:var(--brand-primary);cursor:pointer;font-weight:600;font-size:inherit;min-height:unset;background:0 0;border:none;padding:0}.gallery-breadcrumb-link:hover{text-decoration:underline}.gallery-breadcrumb-sep{color:var(--text-placeholder);font-size:.9em}.folders-grid{gap:var(--space-lg);padding:var(--space-xl);flex-grow:1;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));align-content:start;min-height:0;display:grid;overflow-y:auto}.folder-card{background:var(--bg-card);border:1px solid var(--border-light,#f1f5f9);border-radius:var(--radius-xl,12px);cursor:pointer;flex-direction:column;height:220px;transition:box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.folder-card:hover{border-color:var(--brand-primary-light,#a3d4be)}.folder-card__cover{flex-shrink:0;width:100%;height:140px;position:relative;overflow:hidden}.folder-card__cover img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.folder-card:hover .folder-card__cover img{transform:scale(1.05)}.folder-card__cover-placeholder{background:linear-gradient(135deg,var(--brand-primary-light,#e8f4ef) 0%,var(--bg-app,#f4f7f5) 100%);width:100%;height:100%;color:var(--brand-primary);opacity:.6;justify-content:center;align-items:center;display:flex}.folder-card__info{flex-direction:column;flex:1;justify-content:center;padding:12px 14px;display:flex}.folder-card__name{color:var(--text-main);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;display:block;overflow:hidden}.folder-card__meta{color:var(--text-muted);justify-content:space-between;margin-top:4px;font-size:.75rem;display:flex}.folder-card--new{border:2px dashed var(--border-strong,#e5e7eb);background:0 0}.folder-card--new:hover{border-color:var(--brand-primary);background:var(--brand-primary-light,#e8f4ef)}.folder-card--new .folder-card__cover--dashed{color:var(--text-placeholder);background:0 0;justify-content:center;align-items:center;display:flex}.folder-card--new:hover .folder-card__cover--dashed{color:var(--brand-primary)}.folder-card__menu-btn{width:32px;height:32px;min-height:unset;color:#4b5563;cursor:pointer;opacity:0;z-index:5;background:#ffffffeb;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .2s,background .15s,color .15s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 6px #0000001f}.folder-card:hover .folder-card__menu-btn{opacity:1}.folder-card__menu-btn:hover{color:var(--brand-primary);background:#fff;box-shadow:0 2px 8px #00000029}.folder-context-menu{background:var(--bg-card);border:1px solid var(--border-strong,#e5e7eb);border-radius:var(--radius-lg,10px);z-index:20;min-width:150px;position:absolute;top:42px;right:8px;overflow:hidden;box-shadow:0 8px 24px #0000001f}button.folder-context-item{width:100%;color:var(--text-main);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:none;align-items:center;gap:8px;padding:10px 14px;font-size:.85rem;transition:background .1s;display:flex;border-radius:0!important}button.folder-context-item:hover{background:var(--bg-hover,#f3f4f6)}button.folder-context-item:active{transform:none!important}button.folder-context-item.folder-context-item--danger{color:var(--raw-danger)}button.folder-context-item.folder-context-item--danger:hover{background:var(--raw-danger-light)}.photos-masonry{column-count:3;column-gap:var(--space-md,12px);padding:var(--space-xl);flex-grow:1;min-height:0;overflow-y:auto}.photos-masonry--cols-2{column-count:2}.photos-masonry--cols-1{column-count:1;max-width:500px;margin:0 auto}.photo-masonry-item{break-inside:avoid;margin-bottom:var(--space-md,12px);border-radius:var(--radius-lg,10px);cursor:pointer;transition:transform .2s;position:relative;overflow:hidden}.photo-masonry-item:hover{z-index:2;transform:scale(1.015)}.photo-masonry-item img{width:100%;height:auto;transition:filter .2s;display:block}.photo-masonry-overlay{opacity:0;pointer-events:none;background:linear-gradient(#0000 60%,#0000004d);transition:opacity .2s;position:absolute;inset:0}.photo-masonry-item:hover .photo-masonry-overlay{opacity:1}.photo-select-badge{z-index:5;background:#fff9;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex;position:absolute;top:8px;right:8px;box-shadow:0 1px 4px #0003}.photo-select-badge--active{background:var(--brand-primary);border-color:var(--brand-primary);color:#fff}.photo-masonry-item--selected{outline:3px solid var(--brand-primary);outline-offset:-3px;border-radius:var(--radius-lg,10px)}.photo-masonry-item--selected img{filter:brightness(.85)}.photo-masonry-desc{color:#fff;opacity:0;pointer-events:none;background:linear-gradient(#0000,#0009);padding:8px 12px;font-size:.75rem;font-style:italic;transition:opacity .2s;position:absolute;bottom:0;left:0;right:0}.photo-masonry-item:hover .photo-masonry-desc{opacity:1}.gallery-pagination-bar{border-top:1px solid var(--border-light,#f1f5f9);flex-direction:column;flex-shrink:0;align-items:center;gap:6px;padding:12px 16px;display:flex}.gallery-pagination{align-items:center;gap:4px;display:flex}.gallery-page-btn{border:1px solid var(--border-light,#e5e7eb);min-width:32px;height:32px;color:var(--text-main);cursor:pointer;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 8px;font-size:.82rem;font-weight:500;transition:all .15s;display:flex}.gallery-page-btn:hover:not(:disabled){background:var(--color-primary-light,#f0fdf4);border-color:var(--color-primary,#5d9b62)}.gallery-page-btn:disabled{opacity:.35;cursor:not-allowed}.gallery-page-btn--active{background:var(--color-primary,#5d9b62);border-color:var(--color-primary,#5d9b62);color:#fff;font-weight:600}.gallery-page-btn--active:hover{background:var(--color-primary,#5d9b62);border-color:var(--color-primary,#5d9b62)}.gallery-photo-count{text-align:center;color:var(--text-muted);font-size:.8rem}.gallery-empty-state{text-align:center;padding:var(--space-3xl,48px) var(--space-xl);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:300px;display:flex}.gallery-empty-title{color:var(--text-main);margin:0;font-size:1.1rem;font-weight:600}.gallery-empty-subtitle{color:var(--text-muted);margin:0;font-size:.9rem}.upload-dropzone{border:2px dashed var(--border-strong,#e5e7eb);border-radius:var(--radius-lg,10px);text-align:center;cursor:pointer;background:var(--bg-app,#f4f7f5);flex-direction:column;align-items:center;gap:6px;padding:32px 20px;transition:all .2s;display:flex}.upload-dropzone:hover,.upload-dropzone--active{border-color:var(--brand-primary);background:var(--brand-primary-light,#e8f4ef)}.upload-dropzone--has-files{padding:16px}.upload-dropzone__text{color:var(--text-main);margin:0;font-size:.9rem;font-weight:500}.upload-dropzone__subtext{color:var(--text-placeholder);font-size:.8rem}.upload-previews{grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:8px;margin-top:14px;display:grid}.upload-preview-item{aspect-ratio:1;border-radius:var(--radius-md,8px);position:relative;overflow:hidden}.upload-preview-item img{object-fit:cover;width:100%;height:100%}.upload-preview-remove{color:#fff;cursor:pointer;opacity:0;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .15s;display:flex;position:absolute;top:3px;right:3px}.upload-preview-item:hover .upload-preview-remove{opacity:1}.upload-preview-add{aspect-ratio:1;border:2px dashed var(--border-strong,#e5e7eb);border-radius:var(--radius-md,8px);cursor:pointer;color:var(--text-placeholder);justify-content:center;align-items:center;transition:border-color .15s,color .15s;display:flex}.upload-preview-add:hover{border-color:var(--brand-primary);color:var(--brand-primary)}.upload-progress-bar{background:var(--border-strong,#e5e7eb);border-radius:2px;height:3px;margin-top:12px;overflow:hidden}.upload-progress-bar__fill{background:var(--brand-primary);border-radius:2px;height:100%;animation:1.5s ease-in-out infinite upload-progress-pulse}@keyframes upload-progress-pulse{0%{width:0%}50%{width:70%}to{width:100%}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%) 0 0/200% 100%;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(min-width:1280px){.photos-masonry{column-count:4}}@media(max-width:1024px){.photos-masonry{column-count:3}}@media(max-width:768px){.gallery-page-wrapper{padding:var(--space-sm)}.gallery-glass-card{border-radius:var(--radius-xl,12px)}.gallery-header{flex-direction:column;align-items:stretch;gap:10px;min-height:auto;padding:12px 14px}.gallery-toolbar{scrollbar-width:none;-ms-overflow-style:none;justify-content:flex-start;overflow-x:auto}.gallery-toolbar::-webkit-scrollbar{display:none}input.gallery-search-input{width:140px}input.gallery-search-input:focus{width:160px}.gallery-btn-label{display:none}.folders-grid{gap:var(--space-md);padding:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.folder-card{height:190px}.folder-card__cover{height:110px}.folder-card__menu-btn{opacity:1}.photos-masonry{column-count:2;padding:var(--space-md)}}@media(max-width:480px){.folders-grid{grid-template-columns:repeat(2,1fr)}.photos-masonry{column-count:2;column-gap:8px}.photo-masonry-item{margin-bottom:8px}}@media(min-width:769px){.gallery-page-wrapper{padding-bottom:0}}.lb-overlay{z-index:var(--z-lightbox,9000);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;background:#000000f5;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.lb-toolbar{z-index:10;background:linear-gradient(#000000b3,#0000004d 60%,#0000);justify-content:space-between;align-items:center;padding:16px 20px;transition:opacity .4s;display:flex;position:absolute;top:0;left:0;right:0}.lb-counter{color:#ffffffe6;letter-spacing:.5px;font-size:.95rem;font-weight:600}.lb-toolbar-actions{align-items:center;gap:4px;display:flex}.lb-action-btn{width:44px;height:44px;min-height:unset;color:#ffffffe6;cursor:pointer;background:#ffffff1f;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;padding:0;text-decoration:none;transition:background .15s,color .15s,transform .15s,border-color .15s;display:flex}.lb-action-btn:hover{color:#fff;background:#ffffff40;border-color:#ffffff4d;transform:scale(1.08)}.lb-action-btn:active{transform:scale(1)!important}.lb-action-btn--danger:hover{color:#fca5a5;background:#ef444459}.lb-image-wrapper{pointer-events:none;flex:1;justify-content:center;align-items:center;width:100%;padding:60px 60px 80px;display:flex;position:relative;overflow:hidden}.lb-image{object-fit:contain;cursor:default;pointer-events:auto;border-radius:4px;width:auto;max-width:100%;height:auto;max-height:100%;box-shadow:0 8px 40px #00000080}.lb-nav{width:48px;height:48px;min-height:unset;color:#ffffffb3;cursor:pointer;z-index:10;background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s,opacity .4s,border-color .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.lb-nav:hover{color:#fff;background:#fff3;border-color:#ffffff4d}.lb-nav:active{transform:translateY(-50%)!important}.lb-nav--left{left:14px}.lb-nav--right{right:14px}.lb-caption{z-index:10;background:linear-gradient(#0000,#0009);flex-direction:column;align-items:center;padding:16px 20px;transition:opacity .4s;display:flex;position:absolute;bottom:0;left:0;right:0}.lb-description{color:#ffffffd9;text-align:center;cursor:pointer;max-width:600px;margin:0;font-size:.95rem;font-style:italic;transition:color .15s}.lb-description:hover{color:#fff}.lb-add-desc-btn{color:#ffffff80;min-height:unset;cursor:pointer;background:0 0;border:1px dashed #ffffff40;border-radius:9999px;padding:4px 14px;font-size:.75rem;transition:all .15s}.lb-add-desc-btn:hover{color:#fff;background:#ffffff14;border-color:#ffffff80}.lb-desc-form{justify-content:center;gap:6px;width:100%;max-width:450px;display:flex}.lb-desc-input{color:#fff;background:#ffffff1a;border:1px solid #ffffff40;border-radius:9999px;flex:1;height:36px;padding:0 14px;font-size:.85rem}.lb-desc-input::placeholder{color:#ffffff59}.lb-desc-input:focus{border-color:#ffffff80;outline:none}.lb-desc-save{height:36px;min-height:unset;color:#1a1a1a;cursor:pointer;background:#ffffffe6;border:none;border-radius:9999px;padding:0 18px;font-size:.8rem;font-weight:600;transition:background .15s}.lb-desc-save:hover{background:#fff}@media(max-width:768px){.lb-image-wrapper{padding:50px 8px 70px}.lb-nav{width:38px;height:38px}.lb-nav--left{left:6px}.lb-nav--right{right:6px}.lb-action-btn{width:36px;height:36px}.lb-toolbar{padding:10px 12px}}.main-content-diary{flex-direction:column;flex-grow:1;width:100%;min-height:0;display:flex}.diary-card{border-radius:var(--radius-2xl,16px);background:#fffffff2;position:relative}.diary-folders-view,.diary-entries-view{flex-direction:column;flex:1;width:100%;height:100%;min-height:0;display:flex}.diary-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-light,#f1f5f9);justify-content:space-between;align-items:center;gap:var(--space-md);min-height:64px;z-index:var(--z-sticky);flex-shrink:0;display:flex;position:relative}.diary-header-left{flex-direction:column;gap:2px;min-width:0;display:flex}.diary-header-left h1{font-size:var(--font-size-xl);color:var(--text-main);margin:0;font-weight:700;line-height:1.3}.diary-subtitle{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.diary-header-actions{align-items:center;gap:var(--space-md);flex-shrink:0;display:flex}.period-filter{border-radius:var(--radius-full);background:#0000000a;gap:0;padding:3px;display:inline-flex}.filter-btn{border-radius:var(--radius-full);font-size:var(--font-size-xs);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:0 0;border:none;padding:5px 14px;font-weight:600;position:relative}.filter-btn:hover{color:var(--text-main);background:#ffffff80}.filter-btn.active{background:var(--bg-card);color:var(--brand-primary);box-shadow:var(--shadow-xs)}.back-btn{color:var(--brand-primary);font-weight:600;font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;margin:0;padding:4px 8px}.back-btn:hover{background:var(--brand-primary-light)}.diary-folders-grid{gap:var(--space-xl);padding:var(--space-xl);background-color:var(--bg-page-diary,#fdfbf7);background-image:radial-gradient(#0000000a 1px,#0000 1px);background-size:20px 20px;flex:1;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));align-content:start;display:grid;overflow-y:auto}.diary-folders-view .empty-state,.diary-entries-view .empty-state{text-align:center;padding:var(--space-3xl) var(--space-xl);color:var(--text-muted);font-size:var(--font-size-base);font-family:var(--font-diary)}.folder-card.diary-folder{border-radius:4px var(--radius-xl) var(--radius-xl) 4px;padding:var(--space-xl) var(--space-lg) var(--space-lg) 30px;border:1px solid var(--border-strong,#e5e7eb);border-left:10px solid var(--brand-primary);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-xs);background:linear-gradient(90deg,#f8fafc,#fff 8% 100%);flex-direction:column;min-height:170px;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;position:relative;box-shadow:-2px 0 5px #0000000a,4px 4px 12px #0000000f,inset 2px 0 5px #fff}.folder-card.diary-folder:after{content:"";background:repeating-linear-gradient(to bottom,var(--border-strong,#e2e8f0),var(--border-strong,#e2e8f0) 1px,#fff 1px,#fff 3px);opacity:.6;border-radius:0 2px 2px 0;width:3px;position:absolute;top:4px;bottom:4px;right:-3px}.folder-card.diary-folder:hover{border-left-color:var(--brand-primary-hover);transform:translateY(-4px)translate(-2px)rotate(-.5deg);box-shadow:-3px 2px 8px #0000000d,8px 8px 20px #0000001a,inset 2px 0 5px #fff}.folder-icon-large{opacity:.4;margin-bottom:2px;font-size:1.8rem;line-height:1}.folder-info{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.folder-name{font-weight:700;font-size:var(--font-size-base);color:var(--text-main);word-break:break-word;line-height:1.3}.folder-dates{font-size:var(--font-size-xs);color:var(--text-muted);font-family:var(--font-diary);font-weight:500}.folder-stats-badges{justify-content:center;gap:6px;margin-top:4px;display:flex}.folder-stats-badges .badge{border-radius:var(--radius-full);background:var(--brand-primary-light);color:var(--brand-primary);text-transform:uppercase;letter-spacing:.02em;padding:2px 8px;font-size:10px;font-weight:700}.folder-card-hover-actions{top:var(--space-sm);right:var(--space-sm);opacity:0;gap:2px;transition:opacity .15s;display:flex;position:absolute}.folder-card.diary-folder:hover .folder-card-hover-actions{opacity:1}@media(hover:none){.folder-card-hover-actions{opacity:1}}.folder-card-hover-actions .icon-btn{color:var(--text-disabled,#9ca3af);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);background:#ffffffe6;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:4px 6px;font-size:13px;line-height:1;display:flex}.folder-card-hover-actions .edit-folder-btn:hover{color:var(--brand-primary);background:var(--brand-primary-light)}.folder-card-hover-actions .delete-folder-btn:hover{color:var(--status-error);background:var(--status-error-light)}.diary-calendar-wrapper{min-height:0;padding:var(--space-lg) var(--space-xl);background-color:var(--bg-page-diary,#fdfbf7);background-image:radial-gradient(#00000008 1px,#0000 1px);background-size:20px 20px;flex:1;overflow-y:auto}.diary-calendar{gap:var(--space-md);width:100%;padding-bottom:var(--space-xl);grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:0 auto;display:grid}.diary-day-card{background-color:var(--bg-card);border:1px solid var(--border-strong,#e5e7eb);border-radius:var(--radius-lg);min-height:130px;padding:var(--space-md);cursor:pointer;box-shadow:var(--shadow-xs);flex-direction:column;justify-content:space-between;transition:all .25s cubic-bezier(.25,.8,.25,1);display:flex;position:relative;overflow:hidden}.diary-day-card:hover{box-shadow:var(--shadow-md);border-color:var(--brand-primary-light);z-index:2;transform:translateY(-3px)}.diary-day-card.has-entry{background:linear-gradient(135deg,var(--brand-primary-light) 0%,var(--bg-card) 100%);border-left:3px solid var(--brand-primary)}.diary-day-card.has-entry .day-number{color:var(--brand-primary);opacity:.18}.diary-day-card.has-entry:after{content:"✎";color:var(--brand-primary);opacity:.2;font-size:1.2rem;position:absolute;bottom:8px;right:10px}.day-header-row{z-index:1;width:100%;font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;justify-content:space-between;font-weight:700;display:flex}.day-weekday{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-weight:700}.day-number{color:var(--border-strong,#e5e7eb);z-index:0;transition:color var(--transition-base);opacity:.4;font-size:2.2em;font-weight:800;line-height:1;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.entry-preview{font-size:var(--font-size-xs);color:var(--text-muted);text-overflow:ellipsis;-webkit-line-clamp:3;font-family:var(--font-diary);z-index:1;border-radius:var(--radius-sm);background:#ffffffb3;-webkit-box-orient:vertical;margin-top:auto;padding:2px 4px;line-height:1.45;display:-webkit-box;overflow:hidden}.notebook-modal-content{perspective:1000px;background:0 0;justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:800px;height:85vh;display:flex}.notebook-nav-btn{width:40px;height:40px;color:var(--text-main);cursor:pointer;box-shadow:var(--shadow-md);transition:all var(--transition-fast);z-index:10;background:#ffffffe6;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.3rem;display:flex}.notebook-nav-btn:hover:not(:disabled){color:var(--brand-primary);box-shadow:var(--shadow-lg);background:#fff;transform:scale(1.1)}.notebook-nav-btn:disabled{opacity:.3;cursor:not-allowed}.notebook-date{font-family:var(--font-diary);font-size:var(--font-size-base);color:var(--text-main);font-weight:600}.notebook-paper{background-color:var(--bg-page-diary,#fdfbf7);background-image:linear-gradient(var(--border-strong,#e5e7eb) 1px,transparent 1px);border-radius:var(--radius-md);border:1px solid var(--border-strong,#e5e7eb);width:100%;box-shadow:var(--shadow-sm);background-size:100% 2rem;flex-direction:column;padding:0;display:flex;position:relative;overflow:hidden}.notebook-paper:before{content:"";opacity:.5;z-index:5;pointer-events:none;background-color:#fca5a5;width:2px;position:absolute;top:0;bottom:0;left:4rem}.notebook-holes{z-index:6;opacity:.08;pointer-events:none;background:radial-gradient(circle,#333 30%,#0000 33%) 0 1rem/100% 2rem;width:20px;position:absolute;top:0;bottom:0;left:10px}.notebook-header{height:4rem;font-family:var(--font-diary);color:var(--status-error,#dc2626);justify-content:space-between;align-items:flex-end;padding:0 2rem .5rem 5rem;font-size:1.4rem;font-weight:700;display:flex}.notebook-close-button{color:var(--text-muted);cursor:pointer;transition:color var(--transition-fast);margin-bottom:5px;font-family:sans-serif;font-size:1.8rem;line-height:1}.notebook-close-button:hover{color:var(--text-main)}.notebook-body{flex-direction:column;flex-grow:1;padding-left:5rem;padding-right:2rem;display:flex;position:relative}.notebook-body textarea,#notebook-textarea{resize:none;width:100%;font-family:var(--font-diary);color:var(--text-main);background:0 0;border:none;outline:none;flex-grow:1;padding-top:.1rem;font-size:1.25rem;line-height:2rem;overflow-y:auto}.char-counter{font-size:var(--font-size-xs);color:var(--text-muted);text-align:right;opacity:.6;padding:4px 0 8px}.notebook-footer{justify-content:flex-end;align-items:center;gap:var(--space-md);width:100%;display:flex}.notebook-btn-save,.notebook-btn-delete{font-weight:600;font-size:var(--font-size-sm);cursor:pointer;border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;border:none;align-items:center;gap:5px;padding:6px 16px;display:flex}.notebook-btn-save{color:var(--status-success,#16a34a);border:1px solid #0000}.notebook-btn-save:hover{border-color:var(--status-success);background-color:var(--status-success-light)}.notebook-btn-delete{color:var(--status-error,#dc2626)}.notebook-btn-delete:hover{background:var(--status-error-light)}.notebook-btn-attach{border:1px dashed var(--brand-primary);color:var(--brand-primary);border-radius:var(--radius-md);cursor:pointer;font-weight:600;font-size:var(--font-size-sm);transition:all var(--transition-fast);background:0 0;align-items:center;gap:6px;margin-right:auto;padding:6px 16px;display:flex}.notebook-btn-attach:hover{background-color:var(--brand-primary-light);border-style:solid}.notebook-attachments{margin-top:var(--space-md);padding:var(--space-md);border-top:2px dashed var(--border-strong,#e5e7eb);gap:var(--space-md);border-radius:var(--radius-md);background-color:#ffffff4d;flex-wrap:wrap;align-items:center;min-height:120px;max-height:200px;display:flex;overflow-y:auto}.attachment-thumbnail-wrapper{transition:transform var(--transition-fast);cursor:pointer;display:inline-block;position:relative}.attachment-thumbnail-wrapper:hover{z-index:5;transform:scale(1.05)rotate(1.5deg)}.attachment-thumbnail{object-fit:cover;background-color:#fff;border:4px solid #fff;border-radius:2px;box-shadow:0 3px 8px #0000001f;width:110px!important;height:110px!important}.attachment-remove-btn{background-color:var(--status-error);color:#fff;text-align:center;cursor:pointer;width:22px;height:22px;box-shadow:var(--shadow-sm);z-index:10;transition:background-color var(--transition-fast),transform var(--transition-fast);border:2px solid #fff;border-radius:50%;font-size:13px;font-weight:700;line-height:20px;position:absolute;top:-6px;right:-6px}.attachment-remove-btn:hover{background-color:var(--status-error-dark,#991b1c);transform:scale(1.1)}@media(max-width:900px){.diary-header{align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);flex-direction:column;min-height:auto}.diary-header-actions{justify-content:space-between;width:100%}.diary-folders-grid{gap:var(--space-lg);padding:var(--space-lg);grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.diary-calendar{grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}}@media(max-width:600px){.diary-folders-grid{gap:var(--space-md);padding:var(--space-md);grid-template-columns:1fr 1fr}.folder-card.diary-folder{min-height:140px;padding:var(--space-md) var(--space-md) var(--space-md) 22px;border-left-width:8px}.folder-name{font-size:var(--font-size-sm)}.diary-calendar{gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.diary-day-card{min-height:100px;padding:var(--space-sm)}.day-number{font-size:1.8em}.period-filter{-webkit-overflow-scrolling:touch;overflow-x:auto}.notebook-paper:before{left:2rem}.notebook-header{padding-left:2.5rem;font-size:1.1rem}.notebook-body{padding-left:2.5rem;padding-right:1rem}.notebook-body textarea,#notebook-textarea{font-size:1.05rem}.attachment-thumbnail{width:80px!important;height:80px!important}}@media(max-width:400px){.diary-folders-grid{grid-template-columns:1fr}.diary-header-actions{align-items:stretch;gap:var(--space-sm);flex-direction:column}.period-filter{align-self:center}}.reconstruction-card{border-radius:var(--radius-2xl,16px);background:#fffffff2;height:100%}.reconstruction-header{padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--border-light,#f1f5f9);flex-shrink:0;justify-content:space-between;align-items:center;min-height:64px;display:flex}.reconstruction-header-left{flex-direction:column;gap:2px;display:flex}.reconstruction-header h1{font-size:var(--font-size-xl);color:var(--text-main);margin:0;font-weight:700;line-height:1.3}.reconstruction-header p{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.budget-container{padding:var(--space-md) var(--space-xl) var(--space-lg);border-bottom:1px solid var(--border-light,#f1f5f9);flex-direction:column;gap:6px;display:flex}.budget-labels{font-size:var(--font-size-sm);justify-content:space-between;align-items:baseline;display:flex}.budget-amount{color:var(--text-main);font-weight:700;font-size:var(--font-size-base)}.budget-progress-fill{background:linear-gradient(90deg,var(--brand-primary),#34d399);border-radius:var(--radius-full);height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.budget-details{font-size:var(--font-size-xs);color:var(--text-muted);justify-content:space-between;display:flex}.kanban-board{gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-grow:1;align-items:stretch;min-height:0;display:flex;overflow:auto hidden}.kanban-column{border-radius:var(--radius-xl);scroll-snap-align:start;background:linear-gradient(#ffffffb3,#fff6);border:1px solid #fff9;flex-direction:column;flex:1 1 0;min-width:300px;max-width:420px;min-height:0;max-height:100%;display:flex;overflow:hidden}.kanban-column-header{padding:var(--space-md) var(--space-lg);font-weight:700;font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.03em;border-bottom:2px solid #0000;flex-shrink:0;align-items:center;gap:8px;display:flex}.kanban-column-header>span:first-child{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.kanban-column-icon{vertical-align:middle;border-radius:var(--radius-sm);object-fit:contain;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;padding:4px;display:inline-flex}.kanban-count{font-size:var(--font-size-xs);border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;min-width:22px;height:22px;font-weight:700;display:inline-flex}.kanban-column.col-navrzeno{background:linear-gradient(#dbeafe59,#ffffff80)}.kanban-column.col-navrzeno .kanban-column-icon{background:#3b82f61f}.kanban-column.col-navrzeno .kanban-count{color:#1d4ed8;background:#3b82f61a}.kanban-column.col-schvaleno{background:linear-gradient(#e8f4ef73,#ffffff80)}.kanban-column.col-schvaleno .kanban-column-icon{background:#22c55e1f}.kanban-column.col-schvaleno .kanban-count{color:#15803d;background:#22c55e1a}.kanban-column.col-probehlo{background:linear-gradient(#d1fae54d,#ffffff80)}.kanban-column.col-probehlo .kanban-column-icon{background:#10b9811f}.kanban-column.col-probehlo .kanban-count{color:#047857;background:#10b9811a}.kanban-column-body{padding:var(--space-sm) var(--space-md);gap:var(--space-sm);scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent;flex-direction:column;flex-grow:1;min-height:0;max-height:60vh;display:flex;overflow-y:auto}.kanban-item:hover{box-shadow:var(--shadow-md);border-color:var(--border-strong);transform:translateY(-1px)}.kanban-item-title{font-weight:600;font-size:var(--font-size-sm);color:var(--text-main);word-break:break-word;flex:1;margin:0;line-height:1.4}@media(hover:none){.card-actions{opacity:1}}.card-action-edit,.card-action-del{color:var(--text-disabled,#9ca3af);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;padding:4px 6px;font-size:13px;line-height:1;display:flex}.card-action-link{color:var(--text-disabled,#9ca3af);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;align-items:center;min-width:28px;min-height:28px;padding:4px 6px;font-size:13px;line-height:1;text-decoration:none;display:flex}.card-cost{font-size:var(--font-size-xs);color:var(--text-muted);background:var(--brand-primary-light);border-radius:var(--radius-full);padding:2px 8px;font-weight:600}.idea-thumbnail img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.idea-card:hover .idea-thumbnail img{transform:scale(1.03)}.idea-content{padding:var(--space-md);flex-direction:column;display:flex}.company-status-badge{border-radius:var(--radius-full);letter-spacing:.02em;text-transform:uppercase;align-items:center;margin-top:6px;margin-bottom:4px;padding:2px 10px;font-size:10px;font-weight:700;display:inline-flex}.company-action-btn{background:var(--bg-card);border:1px solid var(--border-strong,#e5e7eb);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--text-main);transition:all var(--transition-fast);align-items:center;gap:6px;padding:5px 10px;font-weight:500;text-decoration:none;display:inline-flex}.company-action-btn:hover{background:var(--brand-primary-light);border-color:var(--brand-primary);color:var(--brand-primary)}.task-cost{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:600}.task-deadline{font-size:var(--font-size-xs);color:var(--text-muted);align-items:center;gap:4px;display:flex}.kanban-empty-state{padding:var(--space-2xl) var(--space-lg);text-align:center;color:var(--text-muted);border:2px dashed var(--border-strong,#e5e7eb);border-radius:var(--radius-lg);background-color:#ffffff4d;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.kanban-empty-state p{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}.vote-btn{cursor:pointer;border-radius:var(--radius-sm);font-size:var(--font-size-xs);transition:all var(--transition-fast);color:var(--text-muted);background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-weight:500;display:flex}.vote-btn:hover{background:var(--bg-hover,#e8ece9)}.add-col-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #0000;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;font-weight:600;display:flex}.add-col-btn:hover{background:var(--brand-primary-light);color:var(--brand-primary);border-color:var(--brand-primary)}@media(max-width:900px){.kanban-board{scroll-snap-type:none;padding:var(--space-md);flex-direction:column;align-items:stretch;overflow:hidden auto}.kanban-column{min-width:0;max-width:100%;max-height:none}.kanban-column-body{max-height:400px}.reconstruction-header{align-items:flex-start;gap:var(--space-md);padding:var(--space-md) var(--space-lg);flex-direction:column}.budget-container{width:100%;padding:var(--space-md) var(--space-lg)}}@media(max-width:480px){.reconstruction-header{padding:var(--space-md)}.kanban-board{padding:var(--space-sm);gap:var(--space-md)}.budget-container{padding:var(--space-sm) var(--space-md)}}.modal-close-btn-icon{width:30px;height:30px;color:var(--text-disabled,#9ca3af);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:background .15s,color .15s;display:flex}@keyframes fieldsReveal{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.main-content-reconstruction{flex-direction:column;flex-grow:1;width:100%;min-height:0;display:flex;overflow:hidden}.reconstruction-card{height:100%}.reconstruction-header{padding:15px var(--space-xl);border-bottom:1px solid var(--color-border-light);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.reconstruction-header h2{font-size:var(--font-size-2xl);color:var(--color-text-main);align-items:center;gap:10px;margin:0;display:flex}.reconstruction-header h2 i{color:var(--color-primary)}.budget-container{flex-direction:column;gap:5px;min-width:250px;display:flex}.budget-labels{justify-content:space-between;align-items:center;font-size:.95rem;display:flex}.budget-title{color:var(--color-text-muted);font-weight:600}.budget-amount{color:var(--color-text-dark);font-size:1.1rem}.budget-progress-bar{background-color:var(--color-border-light);border-radius:4px;height:8px;overflow:hidden}.budget-progress-fill{background-color:var(--color-primary);height:100%;transition:width .5s}.budget-details{color:var(--color-text-muted);justify-content:space-between;font-size:.75rem;display:flex}.kanban-board{gap:var(--space-xl);padding:var(--space-xl);scroll-snap-type:x proximity;flex-grow:1;align-items:flex-start;min-height:0;display:flex;overflow:auto hidden}.kanban-column{background-color:var(--color-background);border-radius:var(--radius-lg);scroll-snap-align:start;flex-direction:column;flex:1 1 0;min-width:320px;max-width:400px;min-height:0;max-height:100%;display:flex;overflow:hidden}.kanban-column-header{font-weight:700;font-size:var(--font-size-lg);border-bottom:3px solid #0000;flex-shrink:0;align-items:center;gap:10px;padding:15px;display:flex}.kanban-column-header i{font-size:1.1em}.kanban-column-icon{vertical-align:middle;filter:drop-shadow(0 1px 2px #0000001a);object-fit:contain;background:#5d9b621f;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;margin-right:4px;padding:4px;display:inline-flex}.kanban-empty-icon{opacity:.6;filter:drop-shadow(0 2px 4px #00000014);margin:0 auto 8px;display:block}.kanban-column.col-navrzeno .kanban-column-header{color:#2563eb;border-bottom-color:#60a5fa}.kanban-column.col-schvaleno .kanban-column-header{color:#6b9e6b;border-bottom-color:#8bb88b}.kanban-column.col-probehlo .kanban-column-header{color:#059669;border-bottom-color:#34d399}.kanban-column-body{flex-direction:column;flex-grow:1;gap:15px;min-height:0;max-height:60vh;padding:10px 8px 10px 10px;display:flex;overflow-y:auto}.kanban-item{background:var(--color-bg-card);border-radius:var(--radius-md);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-base),transform var(--transition-base);flex-direction:column;display:flex;overflow:hidden}.kanban-item:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.card-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.kanban-item-title{color:#111827;word-break:break-word;flex:1;margin:0;font-size:.95rem;font-weight:600;line-height:1.35}.card-actions{opacity:0;flex-shrink:0;gap:4px;transition:opacity .15s;display:flex}.kanban-item:hover .card-actions,.kanban-item:focus-within .card-actions{opacity:1}.card-action-edit,.card-action-del{color:#d1d5db;cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;padding:4px 5px;font-size:12px;line-height:1;transition:color .18s,background .18s;display:flex}.card-action-edit:hover{color:var(--color-primary);background:var(--color-primary-bg)}.card-action-del:hover{color:var(--color-danger);background:var(--color-danger-light)}.card-action-link{color:var(--color-border-dark);cursor:pointer;border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast);background:0 0;border:none;align-items:center;padding:4px 5px;font-size:12px;line-height:1;text-decoration:none;display:flex}.card-action-link:hover{color:var(--color-primary);background:var(--color-primary-bg)}.card-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;display:flex}.card-cost{color:var(--color-text-light);font-size:.85rem;font-weight:500}.kanban-item-desc{font-size:var(--font-size-sm);color:var(--color-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin-top:6px;line-height:1.45;display:-webkit-box;overflow:hidden}.idea-thumbnail{border-bottom:1px solid var(--color-border-light);width:100%;height:140px;overflow:hidden}.idea-thumbnail img{object-fit:cover;width:100%;height:100%}.idea-content{flex-direction:column;padding:14px;display:flex}.idea-header,.idea-actions{display:none}.idea-link{color:var(--color-text-muted);transition:color var(--transition-fast)}.idea-link:hover{color:var(--color-primary)}.company-card{padding:14px}.company-status-badge{letter-spacing:.01em;border-radius:20px;align-items:center;margin-top:6px;margin-bottom:4px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.company-status-badge.status-pending{color:#92400e;background:#fef3c7}.company-status-badge.status-contacted{color:#1e40af;background:#dbeafe}.company-status-badge.status-approved{color:#065f46;background:#d1fae5}.company-status-badge.status-rejected{color:#991b1b;background:#fee2e2}.company-contact-row{border-top:1px solid #e5e7eb;flex-wrap:wrap;gap:6px;margin-top:10px;padding-top:10px;display:flex}.status-pending{color:#92400e;background:#fef3c7}.status-contacted{color:#1e40af;background:#dbeafe}.status-approved{color:#065f46;background:#d1fae5}.status-rejected{color:#991b1b;background:#fee2e2}.company-actions{flex-wrap:wrap;gap:8px;margin-top:15px;display:flex}.company-action-btn{background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-dark);transition:all var(--transition-fast);align-items:center;gap:6px;padding:6px 10px;font-size:.8rem;font-weight:500;text-decoration:none;display:inline-flex}.company-action-btn:hover{background-color:var(--color-primary-bg);border-color:var(--color-primary-light);color:var(--color-primary-dark)}.task-card{padding:14px}.task-title-row{flex:1;align-items:flex-start;gap:9px;min-width:0;display:flex}.task-header{align-items:flex-start;gap:8px;display:flex}.task-checkbox-wrapper{flex-shrink:0;width:20px;height:20px;margin-top:2px;display:inline-block;position:relative}.task-checkbox{opacity:0;width:0;height:0}.checkmark{border:2px solid var(--color-border-dark);cursor:pointer;width:20px;height:20px;transition:all var(--transition-fast);background-color:#fff;border-radius:4px;position:absolute;top:0;left:0}.task-checkbox:checked~.checkmark{background-color:var(--color-primary);border-color:var(--color-primary)}.checkmark:after{content:"";border:2px solid #fff;border-width:0 2px 2px 0;width:5px;height:10px;display:none;position:absolute;top:2px;left:6px;transform:rotate(45deg)}.task-checkbox:checked~.checkmark:after{display:block}.task-done .kanban-item-title{color:var(--color-text-muted);text-decoration:line-through}.kanban-item.task-done{opacity:.6;transition:opacity .2s}.kanban-item.task-done:hover{opacity:1}.task-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;display:flex}.task-cost{color:var(--color-text-light);font-size:.85rem;font-weight:500}.task-deadline{color:var(--color-text-muted);align-items:center;gap:5px;font-size:.8rem;display:flex}.deadline-near{color:var(--color-danger);font-weight:600}.kanban-empty-state{text-align:center;color:var(--color-text-muted);border:2px dashed var(--color-border-light);border-radius:var(--radius-md);background-color:#ffffff80;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:30px 20px;display:flex}.kanban-empty-state i{color:var(--color-border-dark);opacity:.5;font-size:2rem}.kanban-empty-state p{margin:0;font-size:.9rem}.delete-card-btn{color:var(--color-border-dark);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;padding:0}.delete-card-btn:hover{color:var(--color-danger)}.vote-btn{cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);color:var(--color-text-muted);background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-size:1rem;display:flex}.vote-btn:hover{background-color:var(--color-border-light)}.vote-btn.voted-up{color:var(--color-danger);font-weight:700}@media(max-width:900px){.kanban-board{scroll-snap-type:none;flex-direction:column;align-items:stretch;overflow:hidden auto}.kanban-column{min-width:0;max-width:100%;max-height:none}.kanban-column-body{max-height:400px}.reconstruction-header{flex-direction:column;align-items:flex-start;gap:15px}.budget-container{width:100%}}@media(max-width:480px){.reconstruction-header{padding:15px}.reconstruction-header h2{font-size:var(--font-size-xl)}.kanban-board{gap:15px;padding:15px}}.rec-modal-content{border-radius:16px;width:100%;max-width:520px;padding:0;overflow:hidden;box-shadow:0 20px 60px #0000002e,0 4px 12px #00000014}.rec-modal-header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:18px 24px 14px;display:flex}.rec-modal-header h2{color:#111827;margin:0;font-size:15px;font-weight:700;line-height:1.3}.modal-close-btn-icon{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;font-size:14px;transition:background .15s,color .15s;display:flex}.modal-close-btn-icon:hover{background:var(--color-bg-hover);color:var(--color-text-main)}#add-reconstruction-form{scrollbar-width:thin;scrollbar-color:#e5e7eb transparent;max-height:calc(90dvh - 130px);padding:20px 24px 0;overflow-y:auto}#add-reconstruction-form::-webkit-scrollbar{width:4px}#add-reconstruction-form::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:2px}.rec-modal-content .form-group{margin-bottom:14px}.form-label{color:var(--color-text-light);margin-bottom:5px;font-size:.82rem;font-weight:500;line-height:1.3;display:block}.label-required{color:#ef4444;margin-left:2px;font-size:.75rem}.form-input{box-sizing:border-box;width:100%;color:var(--color-text-main);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-xs);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);appearance:none;outline:none;padding:9px 12px;font-family:inherit;font-size:13.5px;line-height:1.4}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #5d9b6226,0 1px 2px #0000000a}.form-input::placeholder{color:var(--color-text-muted);font-size:13px}.form-input[rows]{resize:vertical;min-height:78px;line-height:1.5}select.form-input{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%236b7280' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:28px}.form-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:14px;display:grid}.form-row>.form-group{margin-bottom:0}.rec-modal-footer{background:var(--color-bg-card);border-top:1px solid var(--color-border);justify-content:flex-end;margin-top:6px;padding:14px 24px 20px;display:flex;position:sticky;bottom:0}.rec-submit-btn{border-radius:var(--radius-md);cursor:pointer;border:none;justify-content:center;align-items:center;gap:7px;min-width:140px;padding:9px 22px;font-size:14px;font-weight:600;transition:background .15s,box-shadow .15s,transform .1s;display:inline-flex;box-shadow:0 2px 6px #5d9b624d;background:var(--color-primary)!important;color:#fff!important}.rec-submit-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #5d9b6266;background:var(--color-primary-hover)!important}.rec-submit-btn:active{box-shadow:none;transform:translateY(0)}.rec-submit-btn i{font-size:12px}.dynamic-fields{animation:.16s fieldsReveal}@media(max-width:600px){.form-row{grid-template-columns:1fr;gap:0}.form-row>.form-group{margin-bottom:14px}.rec-modal-content{border-radius:12px 12px 0 0}.rec-modal-footer{padding:12px 16px;padding-bottom:max(16px,env(safe-area-inset-bottom))}.rec-submit-btn{width:100%;min-width:0}#add-reconstruction-form{padding:16px 16px 0}.rec-modal-header{padding:14px 16px 12px}}.main-content-admin{flex-direction:column;flex-grow:1;width:100%;min-height:0;display:flex;overflow:hidden}.admin-page-card{padding:var(--space-2xl);overflow-y:auto}.admin-page-card h2{font-size:var(--font-size-2xl);color:#4b5563;margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:2px solid var(--color-border-light);flex-shrink:0;align-items:center;gap:10px;font-weight:700;display:flex}.admin-page-card h2 i{color:var(--color-primary)}.admin-section{margin-bottom:var(--space-2xl);padding-bottom:var(--space-xl);border-bottom:1px solid var(--color-border-light);flex-direction:column;flex-shrink:0;display:flex}.admin-section:last-child{border-bottom:none;margin-bottom:0}.admin-section h3{font-size:var(--font-size-lg);color:#374151;margin-bottom:var(--space-lg);align-items:center;gap:var(--space-sm);flex-shrink:0;font-weight:600;display:flex}.admin-section h3 i{color:var(--color-primary-light)}.users-list{flex-direction:column;gap:0;display:flex}.user-row{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:12px 8px;transition:background-color .2s,border-radius .2s;display:flex}.user-row:last-child{border-bottom:none}.user-row:hover{background-color:#f9fafb;border-radius:6px}.user-row-left{align-items:center;gap:12px;width:30%;display:flex}.user-row-avatar{object-fit:cover;background-color:var(--color-primary);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:flex}.user-row-name{color:#111827;font-weight:500}.user-row-middle{width:40%;display:flex}.user-role-badge{text-transform:uppercase;border-radius:9999px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-block}.badge-admin{color:#991b1b;background-color:#fee2e2}.badge-member{color:#3730a3;background-color:#e0e7ff}.user-row-right{color:#9ca3af;justify-content:flex-end;align-items:center;gap:16px;width:30%;display:flex}.user-row-right i{cursor:pointer;font-size:16px;transition:color .2s}.user-row-right i.btn-edit-user:hover{color:#1f2937}.user-row-right i.btn-delete-user-icon:hover{color:#dc2626}.add-user-section{border-top:2px solid #e5e7eb;margin-top:24px;padding-top:24px}.add-user-section h3{font-size:var(--font-size-lg);color:#374151;margin-bottom:var(--space-lg);align-items:center;gap:var(--space-sm);font-weight:600;display:flex}.add-user-section h3 i{color:var(--color-primary-light)}.add-user-form{grid-template-columns:1fr 1fr auto auto;align-items:end;gap:10px;display:grid}.add-user-form .form-group{margin-bottom:0}.add-user-form .form-group label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-weight:600;display:block}.add-user-form input{width:100%;padding:var(--space-sm) 12px;border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.system-info{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px;display:grid}.system-stat{background-color:var(--color-background);border-radius:var(--radius-md);text-align:center;padding:15px}.system-stat .stat-value{font-size:var(--font-size-2xl);color:var(--color-primary);font-weight:800}.system-stat .stat-label{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;margin-top:4px;font-weight:600}.danger-zone{border:2px solid var(--color-danger-light);border-radius:var(--radius-lg);padding:var(--space-xl);background-color:#fef2f2}.danger-zone h3{color:var(--color-danger)}.danger-zone p{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-lg)}@media(max-width:768px){.admin-page-card{padding:var(--space-xl)}.add-user-form{grid-template-columns:1fr}.user-row{flex-direction:column;align-items:flex-start;gap:10px}.user-row-left,.user-row-middle,.user-row-right{width:100%}.user-row-right{justify-content:flex-start}.system-info{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.main-content-admin{padding:10px}.admin-page-card{padding:15px}.system-info{grid-template-columns:1fr}}.cabin-settings-back{background:var(--color-bg-card,#fff);border:1.5px solid var(--color-border,#e5e7eb);border-radius:var(--radius-md,10px);cursor:pointer;color:var(--color-text,#1a2721);padding:8px 14px;font-size:1.2rem;transition:all .2s}.cabin-settings-back:hover{background:var(--color-bg-secondary,#f4f7f5);border-color:var(--color-primary,#3f7b63)}.main-content-settings{scrollbar-width:none;flex-direction:column;flex-grow:1;width:100%;min-height:0;padding:20px;display:flex;overflow-y:auto}.main-content-settings::-webkit-scrollbar{display:none}.settings-page-card{width:100%}.cs-header{justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 28px 20px;display:flex}.cs-header-left{align-items:center;gap:12px;display:flex}.cs-title{font-size:var(--font-size-2xl,1.5rem);color:var(--color-text,#1a2721);margin:0;font-weight:700}.cs-subtitle{color:var(--color-text-secondary,#6b7280);margin:4px 0 0;font-size:.85rem}.cs-tabs{border-bottom:2px solid var(--color-border-light,#f0f0f0);gap:0;padding:0 28px;display:flex}.cs-tab{color:var(--color-text-secondary,#6b7280);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 20px 12px;font-family:inherit;font-size:.88rem;font-weight:600;transition:color .2s,border-color .2s}.cs-tab:hover{color:var(--color-text,#1a2721)}.cs-tab.active{color:var(--color-primary,#3f7b63);border-bottom-color:var(--color-primary,#3f7b63)}.cs-body{background:var(--color-bg-secondary,#f9fafb);padding:24px 28px 28px}.cs-tab-pane{animation:.3s fadeInTab;display:none}.cs-tab-pane.active{display:block}@keyframes fadeInTab{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.cabin-settings-loading,.cabin-settings-error{text-align:center;color:var(--color-text-secondary,#6b7280);padding:60px 24px}.cabin-settings-loading .spinner{margin:0 auto 16px}.cs-section{background:var(--color-bg-card,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-lg,14px);margin-bottom:20px;padding:24px;box-shadow:0 1px 3px #1a27210a}.cs-section-header{margin-bottom:20px}.cs-section-header h2{color:var(--color-text,#1a2721);margin:0 0 4px;font-size:1.1rem;font-weight:600}.cs-section-header p{color:var(--color-text-secondary,#6b7280);margin:0;font-size:.85rem}.cs-field{margin-bottom:18px}.cs-field:last-child{margin-bottom:0}.cs-field label{color:var(--color-text,#1a2721);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.cs-optional{color:var(--color-text-secondary,#6b7280);font-size:.8rem;font-weight:400}.cs-field input[type=text],.cs-field input[type=number],.cs-field input[type=email],.cs-field textarea{border:1.5px solid var(--color-border,#e5e7eb);border-radius:var(--radius-md,10px);width:100%;color:var(--color-text,#1a2721);background:var(--color-bg,#fff);box-sizing:border-box;resize:vertical;outline:none;padding:10px 14px;font-family:inherit;font-size:.92rem;transition:border-color .2s,box-shadow .2s}.cs-field input:focus,.cs-field textarea:focus{border-color:var(--color-primary,#3f7b63);box-shadow:0 0 0 3px #3f7b631f}.cs-field textarea{min-height:80px}.cs-hint{color:var(--color-text-tertiary,#9ca3af);margin-top:4px;font-size:.78rem;display:block}.cs-hint a{color:var(--color-primary,#3f7b63);text-decoration:underline}.cs-counter{color:var(--color-text-tertiary,#9ca3af);text-align:right;margin-top:4px;font-size:.75rem;display:block}.cs-field-row{grid-template-columns:1fr 1fr;gap:14px;margin-bottom:4px;display:grid}@media(max-width:500px){.cs-field-row{grid-template-columns:1fr}}.cs-checklist{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.cs-checklist-item{background:var(--color-bg-secondary,#f4f7f5);border-radius:var(--radius-sm,8px);align-items:center;gap:8px;padding:6px 8px;display:flex}.cs-checklist-drag{color:var(--color-text-tertiary,#9ca3af);cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;font-size:1rem}.cs-checklist-input{border-radius:var(--radius-sm,6px);color:var(--color-text,#1a2721);background:0 0;border:1px solid #0000;outline:none;flex:1;padding:8px 10px;font-family:inherit;font-size:.9rem;transition:border-color .2s,background .2s}.cs-checklist-input:focus{background:var(--color-bg,#fff);border-color:var(--color-primary,#3f7b63)}.cs-checklist-remove{color:var(--color-text-tertiary,#9ca3af);cursor:pointer;border-radius:var(--radius-sm,6px);background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:1.2rem;transition:color .2s,background .2s}.cs-checklist-remove:hover{color:var(--color-danger,#ef4444);background:#ef444414}.cs-btn-add{border:1.5px dashed var(--color-border,#e5e7eb);border-radius:var(--radius-md,10px);color:var(--color-text-secondary,#6b7280);cursor:pointer;background:0 0;align-items:center;gap:6px;padding:8px 16px;font-family:inherit;font-size:.88rem;transition:all .2s;display:inline-flex}.cs-btn-add:hover{border-color:var(--color-primary,#3f7b63);color:var(--color-primary,#3f7b63);background:var(--color-primary-bg,#e8f5e9)}.cs-toggle-row{cursor:pointer;align-items:flex-start;gap:12px;padding:4px 0;display:flex}.cs-toggle-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary,#3f7b63);cursor:pointer;flex-shrink:0;margin-top:3px}.cs-toggle-label{color:var(--color-text,#1a2721);font-size:.92rem;font-weight:600;display:block}.cs-features-list{flex-direction:column;gap:6px;display:flex}.cs-feature-item{background:var(--color-bg-secondary,#f4f7f5);border-radius:var(--radius-md,10px);cursor:pointer;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;transition:background .2s;display:flex}.cs-feature-item:hover{background:var(--color-primary-bg,#e8f5e9)}.cs-feature-info{flex:1}.cs-feature-info strong{color:var(--color-text,#1a2721);margin-bottom:2px;font-size:.9rem;display:block}.cs-feature-info span{color:var(--color-text-secondary,#6b7280);font-size:.8rem}.cs-feature-toggle{width:18px;height:18px;accent-color:var(--color-primary,#3f7b63);cursor:pointer;flex-shrink:0}.cs-btn-save{background:var(--color-primary,#3f7b63);color:#fff;border-radius:var(--radius-md,10px);cursor:pointer;border:none;justify-content:center;align-items:center;padding:10px 24px;font-family:inherit;font-size:.95rem;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #3f7b6340}.cs-btn-save:hover:not(:disabled){background:var(--color-primary-hover,#357a5a);transform:translateY(-1px);box-shadow:0 6px 16px #3f7b6359}.cs-btn-save:disabled{opacity:.6;cursor:not-allowed;transform:none}.cs-btn-save--success{background:var(--color-success,#16a34a);box-shadow:0 4px 12px #16a34a4d}@media(max-width:600px){.main-content-settings{padding:12px}.settings-page-card{border-radius:var(--radius-lg,14px)}.cs-header{flex-wrap:wrap;padding:18px 18px 14px}.cs-tabs{padding:0 18px}.cs-tab{padding:8px 12px 10px;font-size:.82rem}.cs-body{padding:18px 18px 24px}.cs-section{border-radius:var(--radius-md,10px);padding:18px 16px}.cs-title{font-size:1.2rem}.cs-btn-save{text-align:center;width:100%}}.superadmin-container{max-width:1400px;margin:0 auto;padding:2rem}.superadmin-container h1{margin-bottom:2rem;font-size:2rem;font-weight:600}.tabs{border-bottom:2px solid var(--border-color);gap:.5rem;margin-bottom:1.5rem;display:flex}.tab-button{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;border-bottom:3px solid #0000;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s}.tab-button:hover{color:var(--text-primary);background:var(--bg-hover)}.tab-button.active{color:var(--primary-color);border-bottom-color:var(--primary-color)}.tab-content{display:none}.tab-content.active{display:block}.toolbar{gap:1rem;margin-bottom:1.5rem;display:flex}.superadmin-container .btn{cursor:pointer;border:none;border-radius:6px;padding:.6rem 1.2rem;font-weight:500;transition:all .2s}.superadmin-container .btn-primary{background:var(--primary-color,var(--color-primary));color:#fff}.superadmin-container .btn-primary:hover{background:var(--primary-hover,var(--color-primary-hover))}.superadmin-container .btn-secondary{background:var(--bg-secondary,var(--color-bg-card));color:var(--text-primary,var(--color-text-main));border:1px solid var(--border-color,var(--color-border))}.superadmin-container .btn-secondary:hover{background:var(--bg-hover,var(--color-bg-hover))}.superadmin-container .btn-small{padding:.4rem .8rem;font-size:.875rem}.superadmin-container .btn-danger{color:#fff;background:#dc3545}.superadmin-container .btn-danger:hover{background:#c82333}.superadmin-container .btn-success{color:#fff;background:#28a745}.superadmin-container .btn-success:hover{background:#218838}.data-table{border-collapse:collapse;background:var(--card-bg);border-radius:8px;width:100%;overflow:hidden;box-shadow:0 2px 8px #0000001a}.data-table thead{background:var(--bg-secondary)}.data-table th{text-align:left;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding:1rem;font-weight:600}.data-table td{border-bottom:1px solid var(--border-color);padding:.875rem 1rem}.data-table tbody tr:hover{background:var(--bg-hover)}.data-table tbody tr:last-child td{border-bottom:none}.badge{text-transform:uppercase;border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-admin{color:#000;background:#ffc107}.badge-user{color:#fff;background:#007bff}.badge-guest{color:#fff;background:#6c757d}.badge-super{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);animation:2s infinite pulse}@keyframes pulse{50%{opacity:.5}}.status-active{color:#28a745;font-weight:600}.status-banned{color:#dc3545;font-weight:600}.status-pending{color:#ffc107;font-weight:600}.logs-table .log-row{cursor:pointer}.logs-table .log-row:hover{background:var(--bg-hover)}.log-level{text-transform:uppercase;border-radius:4px;padding:.25rem .6rem;font-size:.75rem;font-weight:700;display:inline-block}.log-level-error{color:#fff;background:#dc3545}.log-level-warn{color:#000;background:#ffc107}.log-level-info{color:#fff;background:#17a2b8}.log-message{white-space:nowrap;text-overflow:ellipsis;max-width:500px;overflow:hidden}.modal{z-index:var(--z-modal);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;width:100%;height:100%;display:none;position:fixed;top:0;left:0}.modal-content{background:var(--card-bg);border-radius:12px;max-width:600px;margin:5% auto;padding:2rem;animation:.3s ease-out modalSlideIn;position:relative;box-shadow:0 8px 32px #0000004d}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:var(--text-secondary);cursor:pointer;font-size:2rem;font-weight:300;transition:color .2s;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{color:var(--text-primary)}.modal-content h2{margin-bottom:1.5rem;font-size:1.5rem}.log-detail p{margin-bottom:.75rem;line-height:1.6}.log-detail details{margin-top:1rem}.log-detail summary{cursor:pointer;margin-bottom:.5rem;font-weight:600}.log-detail pre{background:var(--bg-secondary);border-radius:6px;padding:1rem;font-size:.875rem;line-height:1.4;overflow-x:auto}#add-user-form{flex-direction:column;gap:1rem;display:flex}#add-user-form label{flex-direction:column;gap:.5rem;font-weight:500;display:flex}#add-user-form input,#add-user-form select{border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary);border-radius:6px;padding:.75rem;font-size:1rem}#add-user-form input:focus,#add-user-form select:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1);outline:none}.spinner{border:4px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:40px;height:40px;margin:2rem auto;animation:.8s linear infinite spin}.empty-state{text-align:center;color:var(--text-secondary);padding:3rem;font-size:1.1rem}.error{color:#dc3545;text-align:center;padding:2rem;font-weight:500}@media(max-width:768px){.superadmin-container{padding:1rem}.data-table{font-size:.875rem}.data-table th,.data-table td{padding:.5rem}.toolbar{flex-direction:column}.modal-content{margin:10% 1rem;padding:1.5rem}}.invite-page{z-index:var(--z-max);background:linear-gradient(135deg,var(--raw-color-5,#f4f7f5) 0%,#e8f0ec 100%);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0;overflow-y:auto}.invite-card{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl,16px);background:#ffffffeb;width:100%;max-width:520px;padding:40px 36px 32px;animation:.5s ease-out inviteSlideUp;box-shadow:0 20px 60px #1a27212e,0 4px 16px #1a272114}.invite-card-narrow{text-align:center;max-width:420px;padding:48px 40px}.invite-card-compact{max-width:620px;padding:28px 32px 24px}.invite-card-compact .invite-welcome-section{text-align:center;padding:0}.invite-card-compact .invite-heading{margin-bottom:6px;font-size:1.2rem}.invite-card-compact .invite-form-group{margin-bottom:10px}.invite-card-compact .invite-form-group label{margin-bottom:3px;font-size:.8rem}.invite-card-compact .invite-btn{margin-top:6px;padding:10px 24px}.invite-form-row{gap:12px;display:flex}.invite-form-row>.invite-form-group{flex:1 1 0;min-width:0}@media(max-width:480px){.invite-form-row{flex-direction:column;gap:0}.invite-card-compact{padding:20px 16px 16px}}@keyframes inviteSlideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.invite-welcome-section{text-align:center;margin-bottom:8px}.invite-cabin-badge{margin-bottom:12px;font-size:48px;line-height:1}.invite-heading{color:var(--color-text,#1a2721);margin:0 0 8px;font-size:1.5rem;font-weight:700;line-height:1.3}.invite-heading em{color:var(--color-primary,#3f7b63);font-style:normal}.invite-subtext{color:var(--color-text-secondary,#6b7280);margin:0 0 4px;font-size:.95rem;line-height:1.5}.invite-role-badge{background:var(--color-primary-bg,#e8f5e9);color:var(--color-primary,#3f7b63);border-radius:var(--radius-full,9999px);letter-spacing:.02em;padding:2px 10px;font-size:.8rem;font-weight:600;display:inline-block}.invite-welcome-msg{color:var(--color-text-secondary,#6b7280);margin:12px 0 0;font-size:.9rem;font-style:italic;line-height:1.5}.invite-divider{background:var(--color-border,#e5e7eb);height:1px;margin:24px 0}.invite-form-title{color:var(--color-text,#1a2721);margin:0 0 20px;font-size:1.1rem;font-weight:600}.invite-form-group{margin-bottom:18px}.invite-form-group label{color:var(--color-text,#1a2721);margin-bottom:6px;font-size:.85rem;font-weight:600;display:block}.invite-optional{color:var(--color-text-secondary,#6b7280);font-size:.8rem;font-weight:400}.invite-form-group input[type=text],.invite-form-group input[type=email],.invite-form-group input[type=password]{border:1.5px solid var(--color-border,#e5e7eb);border-radius:var(--radius-md,10px);width:100%;color:var(--color-text,#1a2721);background:var(--color-bg,#fff);box-sizing:border-box;outline:none;padding:10px 14px;font-family:inherit;font-size:.95rem;transition:border-color .2s,box-shadow .2s}.invite-form-group input:focus{border-color:var(--color-primary,#3f7b63);box-shadow:0 0 0 3px #3f7b631f}.invite-field-hint{color:var(--color-text-tertiary,#9ca3af);margin-top:4px;font-size:.78rem;display:block}.invite-password-wrapper{align-items:center;display:flex;position:relative}.invite-password-wrapper input{flex:1;padding-right:44px}.invite-toggle-password{cursor:pointer;opacity:.6;background:0 0;border:none;padding:4px;font-size:1.1rem;transition:opacity .2s;position:absolute;right:8px}.invite-toggle-password:hover{opacity:1}.invite-swatch-grid{flex-wrap:wrap;gap:8px;display:flex}.invite-swatch{cursor:pointer;border:2.5px solid #0000;border-radius:50%;outline:none;width:32px;height:32px;padding:0;transition:transform .15s,border-color .15s,box-shadow .15s}.invite-swatch:hover{transform:scale(1.15)}.invite-swatch.active{border-color:var(--color-text,#1a2721);box-shadow:0 0 0 2px var(--color-bg,#fff),0 0 0 4px var(--color-text,#1a2721);transform:scale(1.1)}.invite-swatch:focus-visible{outline:2px solid var(--color-primary,#3f7b63);outline-offset:2px}.invite-avatar-grid{flex-wrap:wrap;gap:6px;display:flex}.invite-avatar-btn{border-radius:var(--radius-md,10px);background:var(--color-bg-secondary,#f4f7f5);cursor:pointer;border:2px solid #0000;outline:none;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:22px;line-height:1;transition:transform .15s,border-color .15s,background .15s;display:flex}.invite-avatar-btn:hover{background:var(--color-primary-bg,#e8f5e9);transform:scale(1.1)}.invite-avatar-btn.active{border-color:var(--color-primary,#3f7b63);background:var(--color-primary-bg,#e8f5e9);box-shadow:0 0 0 2px #3f7b6333}.invite-avatar-btn:focus-visible{outline:2px solid var(--color-primary,#3f7b63);outline-offset:2px}.invite-error-msg{color:#dc2626;border-radius:var(--radius-md,10px);background:#fef2f2;border:1px solid #fecaca;margin:0 0 12px;padding:10px 14px;font-size:.88rem;line-height:1.4}.invite-back-btn{border:1.5px solid var(--color-border,#e5e7eb);background:var(--color-bg,#fff);width:36px;height:36px;color:var(--color-text,#1a2721);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:1.1rem;transition:background .15s,border-color .15s;display:flex}.invite-back-btn:hover{background:var(--color-bg-secondary,#f4f7f5);border-color:var(--color-text-secondary,#6b7280)}.invite-btn{border-radius:var(--radius-md,10px);cursor:pointer;border:none;padding:12px 28px;font-family:inherit;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.invite-btn-primary{background:var(--color-primary,#3f7b63);color:#fff;box-shadow:0 4px 12px #3f7b6340}.invite-btn-primary:hover:not(:disabled){background:var(--color-primary-hover,#357a5a);transform:translateY(-1px);box-shadow:0 6px 16px #3f7b6359}.invite-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.invite-btn-full{text-align:center;width:100%}.invite-back-link{text-align:center;color:var(--color-text-secondary,#6b7280);margin-top:20px;font-size:.85rem}.invite-back-link a{color:var(--color-primary,#3f7b63);cursor:pointer;text-decoration:underline}.invite-back-link a:hover{color:var(--color-primary-hover,#357a5a)}.invite-success{text-align:center;padding:24px 0}.invite-success-icon{margin-bottom:16px;font-size:56px;line-height:1;animation:.6s ease-out inviteBounce}@keyframes inviteBounce{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.invite-icon{margin-bottom:16px;font-size:56px;line-height:1}.invite-title{color:var(--color-text,#1a2721);margin:0 0 12px;font-size:1.3rem;font-weight:600}.invite-text{color:var(--color-text-secondary,#6b7280);margin:0 0 24px;font-size:.95rem;line-height:1.5}.invite-text-muted{opacity:.7;font-size:.88rem}.invite-spinner-wrap{padding:24px 0}.invite-spinner{border:4px solid var(--color-border,#e5e7eb);border-top-color:var(--color-primary,#3f7b63);border-radius:50%;width:48px;height:48px;margin:0 auto 20px;animation:.7s linear infinite inviteSpin}@keyframes inviteSpin{to{transform:rotate(360deg)}}@media(max-width:540px){.invite-card{border-radius:var(--radius-lg,12px);padding:28px 20px 24px}.invite-heading{font-size:1.25rem}.invite-swatch{width:28px;height:28px}.invite-avatar-btn{width:36px;height:36px;font-size:20px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family,"Plus Jakarta Sans", sans-serif);color:var(--text-main,#1a2721);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;overflow-x:hidden}.landing-nav{-webkit-backdrop-filter:blur(16px)saturate(180%);border-radius:var(--radius-full,9999px);z-index:100;background:#ffffffb8;border:1px solid #fff9;justify-content:space-between;align-items:center;width:calc(100% - 32px);max-width:1100px;padding:8px 12px 8px 20px;transition:all .35s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 24px #1a27210f,0 1px 2px #1a27210a}.landing-nav.scrolled{background:#ffffffeb;top:8px;box-shadow:0 8px 32px #1a27211a,0 2px 4px #1a27210d}.landing-nav-logo{flex-shrink:0;align-items:center;gap:10px;text-decoration:none;display:flex}.landing-nav-logo-img{border-radius:var(--radius-sm,6px);width:32px;height:32px}.landing-nav-logo-text{color:var(--text-main,#1a2721);letter-spacing:-.01em;font-size:1rem;font-weight:700}.landing-nav-links{align-items:center;gap:4px;display:flex}.landing-nav-link{color:var(--text-muted,#4b5563);font-size:var(--font-size-sm,.85rem);border-radius:var(--radius-full,9999px);transition:color var(--transition-fast,.15s ease),background var(--transition-fast,.15s ease);padding:8px 16px;font-weight:500;text-decoration:none}.landing-nav-link:hover{color:var(--text-main,#1a2721);background:#1a27210d}.landing-nav-actions{align-items:center;gap:8px;display:flex}.landing-nav-hamburger{cursor:pointer;border-radius:var(--radius-md,10px);width:40px;height:40px;transition:background var(--transition-fast,.15s ease);background:0 0;border:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:8px;display:none}.landing-nav-hamburger span{background:var(--text-main,#1a2721);transform-origin:50%;border-radius:2px;width:20px;height:2px;transition:all .3s;display:block}.landing-nav-hamburger.active span:first-child{transform:translateY(7px)rotate(45deg)}.landing-nav-hamburger.active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.landing-mobile-menu{-webkit-backdrop-filter:blur(24px);border-radius:var(--radius-xl,20px);width:calc(100% - 32px);max-width:400px;box-shadow:var(--shadow-xl,0 16px 40px #1a272124);z-index:99;opacity:0;pointer-events:none;background:#fffffff5;border:1px solid #fff9;flex-direction:column;gap:4px;padding:16px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:fixed;top:76px;left:50%;transform:translate(-50%)translateY(-8px)}.landing-mobile-menu.open{opacity:1;pointer-events:auto;transform:translate(-50%)translateY(0)}.landing-mobile-link{color:var(--text-main,#1a2721);border-radius:var(--radius-md,10px);transition:background var(--transition-fast,.15s ease);padding:12px 16px;font-size:1rem;font-weight:500;text-decoration:none}.landing-mobile-divider{border:none;border-top:1px solid #1a27210f;margin:8px 0}.landing-btn{border-radius:var(--radius-full,9999px);cursor:pointer;white-space:nowrap;font-family:inherit;font-weight:600;font-size:var(--font-size-sm,.85rem);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;line-height:1.4;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.landing-btn-lg{font-size:var(--font-size-base,.9375rem);padding:14px 28px}.landing-btn-primary{background:var(--brand-primary,#3f7b63);color:var(--text-on-primary,#fff);box-shadow:0 2px 8px #3f7b634d}.landing-btn-primary:hover{background:var(--brand-primary-hover,#1a2721);transform:translateY(-1px);box-shadow:0 4px 16px #3f7b6366}.landing-btn-outline{color:var(--text-main,#1a2721);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border:1.5px solid #1a27211f}.landing-btn-outline:hover{box-shadow:var(--shadow-md,0 4px 12px #1a272114);background:#fff;border-color:#1a272133;transform:translateY(-1px)}.landing-btn-ghost{color:var(--text-muted,#4b5563);background:0 0;padding:8px 16px}.landing-btn-ghost:hover{color:var(--text-main,#1a2721);background:#1a27210d}.hero-section{background-image:linear-gradient(#f8fafcf2,#f8fafce6 45%,#f8fafc80 75%,#f8fafc00),url(/bg-hero.jpg);background-position:top,top;background-repeat:no-repeat,no-repeat;background-size:cover,cover;flex-direction:column;align-items:center;min-height:100vh;padding-bottom:80px;display:flex;position:relative;overflow:hidden}.hero-overlay{background:linear-gradient(180deg,transparent 0%,transparent 70%,#f4f7f5d9 92%,var(--bg-app,#f4f7f5) 100%);z-index:1;pointer-events:none;position:absolute;inset:0}.hero-blob{filter:blur(80px);opacity:.4;z-index:0;pointer-events:none;border-radius:50%;position:absolute}.hero-blob-1{background:#3f7b6326;width:600px;height:600px;animation:20s ease-in-out infinite blob-drift;top:-200px;right:-100px}.hero-blob-2{background:#3b82f61a;width:400px;height:400px;animation:25s ease-in-out infinite reverse blob-drift;top:200px;left:-150px}.hero-blob-3{background:#f59e0b14;width:300px;height:300px;animation:18s ease-in-out 5s infinite blob-drift;bottom:100px;right:-50px}.hero-content{z-index:2;text-align:center;flex-direction:column;align-items:center;width:100%;max-width:800px;margin-top:max(16vh,120px);padding:0 20px;display:flex;position:relative}.hero-badge{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full,9999px);color:var(--text-muted,#4b5563);background:#ffffffbf;border:1px solid #3f7b631f;align-items:center;gap:8px;margin-bottom:24px;padding:6px 16px 6px 10px;font-size:.8rem;font-weight:500;animation:.6s ease-out both fadeInUp;display:inline-flex}.hero-badge-dot{background:var(--brand-primary,#3f7b63);border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot}.hero-title{letter-spacing:-.03em;color:var(--text-main,#1a2721);text-shadow:0 1px 3px #fffc;margin-bottom:20px;font-size:clamp(2.4rem,6vw,4.2rem);font-weight:800;line-height:1.08;animation:.6s ease-out .1s both fadeInUp}.hero-title-accent{color:var(--brand-primary,#3f7b63);text-shadow:0 1px 3px #ffffffe6}.hero-subtitle{color:var(--text-main,#1a2721);text-shadow:0 0 15px #fff,0 0 30px #fffc;max-width:560px;margin:0 auto 36px;font-size:clamp(1rem,2vw,1.2rem);font-weight:500;line-height:1.7;animation:.6s ease-out .2s both fadeInUp}.hero-cta-group{flex-wrap:wrap;justify-content:center;gap:12px;animation:.6s ease-out .3s both fadeInUp;display:flex}.hero-social-proof{align-items:center;gap:12px;margin-top:36px;animation:.6s ease-out .4s both fadeInUp;display:flex}.hero-avatar{color:#fff;border:2.5px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;margin-left:-8px;font-size:.72rem;font-weight:700;display:flex;box-shadow:0 2px 6px #1a27211a}.hero-social-text{color:var(--text-main,#1a2721);text-shadow:0 0 15px #fff,0 0 30px #fffc;font-size:.95rem;font-weight:500}.hero-social-text strong{color:var(--text-main,#1a2721);font-weight:700}.hero-mockup-wrapper{z-index:2;justify-content:center;width:100%;margin-top:48px;margin-bottom:-80px;padding:0 20px;animation:.8s ease-out .55s both fadeInUp;display:flex;position:relative}.hero-mockup{border-radius:var(--radius-lg,16px);background:var(--bg-card,#fff);border:1px solid #1a272114;width:100%;max-width:920px;animation:6s ease-in-out 1.5s infinite float;overflow:hidden;box-shadow:0 30px 60px -12px #1a27212e,0 18px 36px -18px #1a27211f,0 0 0 1px #ffffff80}.hero-mockup-bar{background:#f8f9fa;border-bottom:1px solid #1a27210f;align-items:center;gap:7px;padding:10px 16px;display:flex}.mockup-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.mockup-bar-url{text-align:center;color:#9ca3af;border-radius:var(--radius-sm,6px);background:#fff;border:1px solid #1a27210f;flex:1;justify-content:center;align-items:center;gap:6px;margin-left:8px;margin-right:28px;padding:5px 12px;font-size:.75rem;font-weight:500;display:flex}.mockup-image{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;object-fit:cover;width:100%;height:auto;display:block}.hero-scroll-indicator{z-index:20;color:var(--text-muted,#4b5563);opacity:.6;cursor:pointer;flex-direction:column;align-items:center;gap:4px;margin-top:40px;font-size:.78rem;font-weight:500;text-decoration:none;animation:2.5s ease-in-out infinite bounce-down;display:flex;position:relative}.landing-section{background:var(--bg-app,#f4f7f5);justify-content:center;align-items:flex-start;min-height:60vh;padding:100px 20px;display:flex}.landing-section-inner{text-align:center;max-width:700px}.landing-section-title{letter-spacing:-.02em;color:var(--text-main,#1a2721);margin-bottom:16px;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800}.landing-section-subtitle{color:var(--text-muted,#4b5563);max-width:680px;margin:0 auto;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.7}.landing-section--alt{background:var(--bg-app,#f4f7f5)}.feature-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.feature-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-sm,0 2px 4px #1a27210d);text-align:left;background:#ffffffc7;border:1px solid #ffffffa6;padding:24px 20px;transition:transform .3s,box-shadow .3s,border-color .3s}.feature-card:hover{box-shadow:var(--shadow-hover,0 10px 20px #1a27211f);border-color:#3f7b632e;transform:translateY(-4px)}.feature-icon{background:var(--brand-primary-light,#e8f4ef);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:14px;display:flex}.feature-icon svg{width:22px;height:22px;stroke:var(--brand-primary,#3f7b63);fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.feature-card h3{letter-spacing:-.01em;color:var(--text-main,#1a2721);margin-bottom:8px;font-size:1.02rem}.feature-card p{color:var(--text-muted,#4b5563);font-size:.92rem;line-height:1.65}.steps-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.step-card{background:var(--bg-card,#fff);border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-sm,0 2px 4px #1a27210d);text-align:left;border:1px solid #1a272114;padding:20px 18px;transition:transform .3s,box-shadow .3s}.step-card:hover{box-shadow:var(--shadow-md,0 4px 12px #1a272114);transform:translateY(-3px)}.step-number{width:30px;height:30px;color:var(--text-on-primary,#fff);background:var(--brand-primary,#3f7b63);border-radius:50%;justify-content:center;align-items:center;margin-bottom:10px;font-size:.9rem;font-weight:700;display:inline-flex}.step-card h3{letter-spacing:-.01em;color:var(--text-main,#1a2721);margin-bottom:8px;font-size:1rem}.step-card p{color:var(--text-muted,#4b5563);font-size:.92rem;line-height:1.65}.founder-section{background-color:var(--bg-app,#f8faf8);padding:100px 20px}.founder-card{background:var(--bg-card,#fff);border-radius:var(--radius-xl,24px);border:1px solid var(--border-light,#0000000f);align-items:center;gap:40px;max-width:800px;margin:0 auto;padding:48px;display:flex;box-shadow:0 4px 24px #0000000f}.founder-photo-placeholder{background:linear-gradient(135deg,var(--color-primary-light,#a8d5ab),var(--color-primary,#5d9b62));border:4px solid var(--color-primary-light,#a8d5ab);border-radius:50%;justify-content:center;align-items:center;width:140px;height:140px;font-size:48px;display:flex;box-shadow:0 8px 24px #5d9b6226}.founder-headline{color:var(--text-main,#1a2721);letter-spacing:-.02em;margin:0 0 18px;font-size:1.65rem;font-weight:700;line-height:1.3}.founder-quote{border:none;margin:0;padding:0}.founder-quote p{color:var(--text-muted,#6b7280);margin:0 0 12px;font-size:.95rem;line-height:1.75}.founder-quote strong{color:var(--color-primary,#5d9b62);font-weight:600}.founder-signature{border-top:1px solid var(--border-light,#0000000f);align-items:baseline;gap:10px;margin-top:24px;padding-top:16px;display:flex}.founder-name{color:var(--text-main,#1a2721);font-size:1.05rem;font-weight:700}.founder-role{color:var(--text-placeholder,#9ca3af);font-size:.88rem;font-weight:400}@media(max-width:768px){.founder-section{padding:64px 16px}.founder-card{text-align:center;flex-direction:column;gap:24px;padding:32px 24px}.founder-photo-placeholder{width:110px;height:110px;font-size:36px}.founder-headline{font-size:1.35rem}.founder-quote p{text-align:left;font-size:.9rem}.founder-signature{flex-direction:column;justify-content:center;align-items:center;gap:4px}}@media(max-width:480px){.founder-card{padding:24px 20px}.founder-photo-placeholder{border-width:3px;width:90px;height:90px;font-size:28px}.founder-headline{font-size:1.2rem}}.pricing-cards-container{grid-template-columns:repeat(3,1fr);align-items:stretch;gap:24px;max-width:1000px;margin:40px auto;display:grid}.pricing-card{background:var(--bg-card,#fff);border:1px solid #1a272114;border-radius:20px;flex-direction:column;padding:24px 22px 22px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 2px 4px #1a27210d}.pricing-card-top{text-align:center;border-bottom:1px solid #0000000f;margin-bottom:16px;padding-bottom:16px}.pricing-plan{color:var(--text-main,#1a2721);margin:0 0 10px;font-size:1.05rem;font-weight:700}.pricing-price{justify-content:center;align-items:baseline;gap:4px;margin-bottom:8px;line-height:1;display:flex}.pricing-amount{color:var(--text-main,#1a2721);letter-spacing:-.03em;font-size:2.5rem;font-weight:800}.pricing-currency{color:var(--text-muted,#6b7280);font-size:.95rem;font-weight:500}.pricing-plan-desc{color:var(--text-muted,#6b7280);margin:0;font-size:.82rem;line-height:1.4}.season-compact-badge{background:var(--bg-app,#f4f7f5);text-align:center;border:1px solid #1a27210f;border-radius:6px;margin-top:10px;padding:8px 12px}.season-compact-label{color:var(--brand-primary,#3f7b63);text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;font-weight:700;line-height:1.3;display:block}.season-compact-text{color:var(--text-muted,#6b7280);margin:3px 0 0;font-size:.78rem;line-height:1.3}.season-compact-label.is-winter{animation:2s ease-in-out infinite winterPulse}.pricing-list{color:var(--text-main,#374151);text-align:left;flex-direction:column;flex:1;gap:8px;width:fit-content;margin:0 auto;padding:0;font-size:.9rem;list-style:none;display:flex}.pricing-list li{white-space:nowrap;color:var(--text-main,#374151);align-items:center;gap:8px;margin-bottom:12px;line-height:1.35;display:flex}.pricing-list li.discord-item{color:#5865f2;align-items:center;gap:8px;font-weight:600;display:flex}.discord-icon{color:#5865f2;flex-shrink:0;width:16px;min-width:16px;height:16px;margin:0;padding:0}.season-subtitle{color:var(--brand-primary,#3f7b63);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.72rem;font-weight:700;line-height:1.3}.season-explanation{color:var(--text-muted,#6b7280);background:var(--bg-app,#f4f7f5);border:1px solid #1a27210f;border-radius:6px;margin-top:8px;padding:8px 12px;font-size:.78rem;line-height:1.3}.season-subtitle.is-winter{color:var(--brand-primary,#3f7b63);animation:2s ease-in-out infinite winterPulse}.pricing-btn{text-align:center;cursor:pointer;white-space:nowrap;border:none;border-radius:12px;margin-top:auto;padding:18px 18px 11px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s;display:block}.pricing-btn-primary{background:var(--brand-primary,#3f7b63);color:#fff}.pricing-btn-secondary{border:2px solid var(--brand-primary,#3f7b63);color:var(--brand-primary,#3f7b63);background:0 0;font-weight:600}.pricing-btn-secondary:hover{background:var(--brand-primary,#3f7b63);color:#fff}.pricing-btn-ghost{color:var(--text-main,#374151);background:0 0;border:1px solid #0000001f}.pricing-btn-ghost:hover{background:var(--bg-alt,#f3f4f6);border-color:var(--brand-primary,#3f7b63);color:var(--brand-primary,#3f7b63)}.pricing-community-note{text-align:center;color:var(--text-muted,#6b7280);margin-top:28px;max-width:560px;margin-inline:auto;font-size:.88rem;line-height:1.5}.pricing-community-note strong{color:var(--text-main,#374151)}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(32px)}.landing-section--testimonials{background:linear-gradient(180deg,var(--bg-app,#f4f7f5) 0%,#eef3f0 100%)}.testimonial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:28px;display:grid}.testimonial-card{background:var(--bg-card,#fff);border-radius:var(--radius-lg,16px);box-shadow:var(--shadow-sm,0 2px 4px #1a27210d);text-align:left;border:1px solid #1a272114;flex-direction:column;gap:14px;padding:24px 20px;transition:transform .3s,box-shadow .3s;display:flex}.testimonial-card:hover{box-shadow:var(--shadow-md,0 4px 12px #1a272114);transform:translateY(-3px)}.testimonial-header{align-items:center;gap:12px;display:flex}.testimonial-avatar{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:.85rem;font-weight:700;display:flex}.testimonial-author-info{flex-direction:column;display:flex}.testimonial-name{color:var(--text-main,#1a2721);font-size:.92rem;font-weight:700}.testimonial-role{color:var(--text-muted,#4b5563);font-size:.78rem}.testimonial-quote{color:var(--text-muted,#4b5563);font-size:.95rem;font-style:italic;line-height:1.7}.testimonial-quote:before{content:open-quote;color:var(--brand-primary,#3f7b63);vertical-align:-4px;margin-right:2px;font-size:1.4rem;font-weight:800;line-height:0}.testimonial-quote:after{content:close-quote;color:var(--brand-primary,#3f7b63);vertical-align:-4px;margin-left:2px;font-size:1.4rem;font-weight:800;line-height:0}.landing-cta-section{background:linear-gradient(135deg,var(--brand-primary,#3f7b63) 0%,#2d5e49 100%);text-align:center;padding:80px 20px}.landing-cta-inner h2{letter-spacing:-.02em;color:#fff;margin-bottom:12px;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800}.landing-cta-inner p{color:#ffffffc7;margin-bottom:28px;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.7}.landing-cta-buttons{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.landing-cta-section .landing-btn-outline{color:#fff;background:0 0;border-color:#fff6}.landing-cta-section .landing-btn-primary{color:var(--brand-primary,#3f7b63);background:#fff}@keyframes bounce-down{0%,20%,50%,80%,to{transform:translate(-50%)translateY(0)}40%{transform:translate(-50%)translateY(8px)}60%{transform:translate(-50%)translateY(4px)}}@keyframes blob-drift{0%,to{transform:translate(0)scale(1)}25%{transform:translate(30px,-20px)scale(1.05)}50%{transform:translate(-20px,20px)scale(.95)}75%{transform:translate(10px,10px)scale(1.02)}}@media(max-width:768px){.landing-nav{border-radius:var(--radius-xl,20px);width:calc(100% - 20px);padding:8px 8px 8px 16px;top:10px}.landing-nav.scrolled{top:6px}.landing-nav-links,.landing-nav-actions{display:none}.landing-nav-hamburger{display:flex}.hero-blob-1{width:300px;height:300px}.hero-blob-2{width:200px;height:200px}.hero-blob-3{display:none}.hero-content{margin-top:max(13vh,100px);padding:0 16px}.hero-title{letter-spacing:-.02em;margin-bottom:16px;font-size:clamp(2rem,8vw,2.8rem)}.hero-subtitle{margin-bottom:28px;font-size:.95rem;line-height:1.65}.hero-cta-group{flex-direction:column;width:100%;max-width:320px}.hero-cta-group .landing-btn{justify-content:center;width:100%}.hero-social-proof{flex-direction:column;gap:8px;margin-top:28px}.hero-mockup-wrapper{margin-top:36px;margin-bottom:-60px;padding:0 12px}.hero-mockup{border-radius:var(--radius-md,10px)}.hero-mockup-bar{padding:8px 12px}.mockup-dot{width:8px;height:8px}.mockup-bar-url{margin-right:20px;font-size:.68rem}.hero-scroll-indicator{margin-top:28px;font-size:.72rem}.landing-section{padding:84px 16px}.landing-section:first-of-type{padding-top:120px}.feature-grid,.steps-grid,.pricing-cards-container,.testimonial-grid{grid-template-columns:1fr;gap:10px;margin-top:22px}.landing-cta-section{padding:60px 16px}.landing-cta-buttons{flex-direction:column;align-items:center}.landing-cta-buttons .landing-btn{justify-content:center;width:100%;max-width:320px}.pricing-amount{font-size:2.2rem}.pricing-list{width:fit-content}.pricing-list li{white-space:normal}}@media(max-width:380px){.hero-title{font-size:1.8rem}.hero-subtitle{font-size:.88rem}.hero-badge{padding:5px 12px 5px 8px;font-size:.72rem}.landing-btn-lg{padding:12px 20px;font-size:.88rem}.hero-avatar{width:28px;height:28px;font-size:.65rem}}.site-footer{background-color:var(--text-main,#111827);color:#9ca3af;padding:60px 20px 20px;font-size:.9rem;line-height:1.6}.footer-inner{grid-template-columns:2fr 1fr 1fr;gap:40px;max-width:900px;margin:0 auto;display:grid}.footer-col{flex-direction:column;gap:10px;display:flex}.footer-col h4{color:#e5e7eb;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px;font-size:.82rem;font-weight:600}.footer-col a{color:#9ca3af;font-size:.88rem;text-decoration:none;transition:color .15s}.footer-brand p{max-width:280px;margin-top:4px;font-size:.88rem;line-height:1.65}.footer-logo{align-items:center;gap:10px;display:flex}.footer-logo span{color:#fff;letter-spacing:-.01em;font-size:1rem;font-weight:700}.footer-bottom{text-align:center;color:#6b7280;border-top:1px solid #ffffff14;max-width:900px;margin:40px auto 0;padding-top:20px;font-size:.82rem}@media(max-width:768px){.footer-inner{text-align:center;grid-template-columns:1fr;gap:32px}.footer-brand p{max-width:100%}.footer-logo{justify-content:center}.site-footer{padding:48px 16px 16px}}@media(prefers-reduced-motion:reduce){.hero-badge,.hero-title,.hero-subtitle,.hero-cta-group,.hero-social-proof,.hero-mockup-wrapper{opacity:1!important;animation:none!important;transform:none!important}.hero-mockup,.hero-badge-dot,.hero-scroll-indicator,.hero-blob{animation:none!important}.reveal{opacity:1!important;transition:none!important;transform:none!important}}#root{width:100%;min-height:100dvh}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{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-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-space-x-reverse{syntax:"*";inherits:false;initial-value:0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family, "Plus Jakarta Sans", sans-serif);color:var(--text-main, #1a2721);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}a{color:inherit}.landing-nav{position:fixed;top:16px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:1100px;background:#ffffffb8;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-full, 9999px);display:flex;align-items:center;justify-content:space-between;padding:8px 12px 8px 20px;box-shadow:0 4px 24px #1a27210f,0 1px 2px #1a27210a;z-index:100;transition:all .35s cubic-bezier(.4,0,.2,1)}.landing-nav.scrolled{top:8px;background:#ffffffeb;box-shadow:0 8px 32px #1a27211a,0 2px 4px #1a27210d}.landing-nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}.landing-nav-logo-img{width:32px;height:32px;border-radius:var(--radius-sm, 6px)}.landing-nav-logo-text{font-size:1rem;font-weight:700;color:var(--text-main, #1a2721);letter-spacing:-.01em}.landing-nav-links{display:flex;align-items:center;gap:4px}.landing-nav-link{text-decoration:none;color:var(--text-muted, #4b5563);font-size:var(--font-size-sm, .85rem);font-weight:500;padding:8px 16px;border-radius:var(--radius-full, 9999px);transition:color var(--transition-fast, .15s ease),background var(--transition-fast, .15s ease)}.landing-nav-link:hover{color:var(--text-main, #1a2721);background:#1a27210d}.landing-nav-actions{display:flex;align-items:center;gap:8px}.landing-nav-hamburger{display:none;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:8px;border-radius:var(--radius-md, 10px);transition:background var(--transition-fast, .15s ease)}.landing-nav-hamburger:hover{background:#1a27210d}.landing-nav-hamburger span{display:block;width:20px;height:2px;background:var(--text-main, #1a2721);border-radius:2px;transition:all .3s ease;transform-origin:center}.landing-nav-hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.landing-nav-hamburger.active span:nth-child(2){opacity:0;transform:scaleX(0)}.landing-nav-hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.landing-mobile-menu{position:fixed;top:76px;left:50%;transform:translate(-50%) translateY(-8px);width:calc(100% - 32px);max-width:400px;background:#fffffff5;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl, 20px);padding:16px;display:flex;flex-direction:column;gap:4px;box-shadow:var(--shadow-xl, 0 16px 40px rgba(26, 39, 33, .14));z-index:99;opacity:0;pointer-events:none;transition:all .25s cubic-bezier(.4,0,.2,1)}.landing-mobile-menu.open{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.landing-mobile-link{text-decoration:none;color:var(--text-main, #1a2721);font-size:1rem;font-weight:500;padding:12px 16px;border-radius:var(--radius-md, 10px);transition:background var(--transition-fast, .15s ease)}.landing-mobile-link:hover{background:#1a27210a}.landing-mobile-divider{border:none;border-top:1px solid rgba(26,39,33,.06);margin:8px 0}.landing-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;font-family:inherit;font-weight:600;border-radius:var(--radius-full, 9999px);cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap;border:none;font-size:var(--font-size-sm, .85rem);padding:10px 20px;line-height:1.4}.landing-btn-sm{padding:8px 18px;font-size:.82rem}.landing-btn-lg{padding:14px 28px;font-size:var(--font-size-base, .9375rem)}.landing-btn-primary{background:var(--brand-primary, #3f7b63);color:var(--text-on-primary, #fff);box-shadow:0 2px 8px #3f7b634d}.landing-btn-primary:hover{background:var(--brand-primary-hover, #1a2721);box-shadow:0 4px 16px #3f7b6366;transform:translateY(-1px)}.landing-btn-primary:active{transform:translateY(0);box-shadow:0 2px 8px #3f7b634d}.landing-btn-outline{background:#fffc;color:var(--text-main, #1a2721);border:1.5px solid rgba(26,39,33,.12);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.landing-btn-outline:hover{background:#fff;border-color:#1a272133;box-shadow:var(--shadow-md, 0 4px 12px rgba(26, 39, 33, .08));transform:translateY(-1px)}.landing-btn-outline:active{transform:translateY(0)}.landing-btn-ghost{background:transparent;color:var(--text-muted, #4b5563);padding:8px 16px}.landing-btn-ghost:hover{color:var(--text-main, #1a2721);background:#1a27210d}.hero-section{position:relative;min-height:100vh;display:flex;flex-direction:column;align-items:center;overflow:hidden;padding-bottom:80px;background-image:linear-gradient(to bottom,#f8fafcf2,#f8fafce6 45%,#f8fafc80 75%,#f8fafc00),url(/bg-hero.jpg);background-size:cover,cover;background-position:center top,center top;background-repeat:no-repeat,no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,transparent 70%,rgba(244,247,245,.85) 92%,var(--bg-app, #f4f7f5) 100%);z-index:1;pointer-events:none}.hero-blob{position:absolute;border-radius:50%;filter:blur(80px);opacity:.4;z-index:0;pointer-events:none}.hero-blob-1{width:600px;height:600px;background:#3f7b6326;top:-200px;right:-100px;animation:blob-drift 20s ease-in-out infinite}.hero-blob-2{width:400px;height:400px;background:#3b82f61a;top:200px;left:-150px;animation:blob-drift 25s ease-in-out infinite reverse}.hero-blob-3{width:300px;height:300px;background:#f59e0b14;bottom:100px;right:-50px;animation:blob-drift 18s ease-in-out infinite 5s}.hero-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;margin-top:max(16vh,120px);padding:0 20px;width:100%;max-width:800px}.hero-badge{display:inline-flex;align-items:center;gap:8px;padding:6px 16px 6px 10px;background:#ffffffbf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(63,123,99,.12);border-radius:var(--radius-full, 9999px);font-size:.8rem;font-weight:500;color:var(--text-muted, #4b5563);margin-bottom:24px;animation:fadeInUp .6s ease-out both}.hero-badge-dot{width:8px;height:8px;border-radius:50%;background:var(--brand-primary, #3f7b63);flex-shrink:0;animation:pulse-dot 2s ease-in-out infinite}.hero-title{font-size:clamp(2.4rem,6vw,4.2rem);font-weight:800;line-height:1.08;letter-spacing:-.03em;color:var(--text-main, #1a2721);margin-bottom:20px;animation:fadeInUp .6s ease-out .1s both;text-shadow:0 1px 3px rgba(255,255,255,.8)}.hero-title-accent{color:var(--brand-primary, #3f7b63);text-shadow:0 1px 3px rgba(255,255,255,.9)}.hero-subtitle{font-size:clamp(1rem,2vw,1.2rem);line-height:1.7;color:var(--text-main, #1a2721);font-weight:500;max-width:560px;margin:0 auto 36px;animation:fadeInUp .6s ease-out .2s both;text-shadow:0 0 15px rgba(255,255,255,1),0 0 30px rgba(255,255,255,.8)}.hero-cta-group{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;animation:fadeInUp .6s ease-out .3s both}.hero-social-proof{display:flex;align-items:center;gap:12px;margin-top:36px;animation:fadeInUp .6s ease-out .4s both}.hero-avatars{display:flex}.hero-avatar{width:32px;height:32px;border-radius:50%;border:2.5px solid #fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;color:#fff;margin-left:-8px;box-shadow:0 2px 6px #1a27211a}.hero-avatar:first-child{margin-left:0}.hero-social-text{font-size:.95rem;font-weight:500;color:var(--text-main, #1a2721);text-shadow:0 0 15px rgba(255,255,255,1),0 0 30px rgba(255,255,255,.8)}.hero-social-text strong{color:var(--text-main, #1a2721);font-weight:700}.hero-mockup-wrapper{position:relative;z-index:2;width:100%;display:flex;justify-content:center;padding:0 20px;margin-top:48px;margin-bottom:-80px;animation:fadeInUp .8s ease-out .55s both}.hero-mockup{width:100%;max-width:920px;border-radius:var(--radius-lg, 16px);overflow:hidden;background:var(--bg-card, #fff);border:1px solid rgba(26,39,33,.08);box-shadow:0 30px 60px -12px #1a27212e,0 18px 36px -18px #1a27211f,0 0 0 1px #ffffff80;animation:float 6s ease-in-out 1.5s infinite}.hero-mockup-bar{display:flex;align-items:center;gap:7px;padding:10px 16px;background:#f8f9fa;border-bottom:1px solid rgba(26,39,33,.06)}.mockup-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.mockup-dot--red{background:#ff5f57}.mockup-dot--yellow{background:#febc2e}.mockup-dot--green{background:#28c840}.mockup-bar-url{display:flex;align-items:center;gap:6px;flex:1;text-align:center;justify-content:center;font-size:.75rem;color:#9ca3af;font-weight:500;background:#fff;padding:5px 12px;border-radius:var(--radius-sm, 6px);border:1px solid rgba(26,39,33,.06);margin-left:8px;margin-right:28px}.mockup-image{width:100%;height:auto;display:block;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;object-fit:cover}.hero-scroll-indicator{position:relative;z-index:20;display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:40px;color:var(--text-muted, #4b5563);font-size:.78rem;font-weight:500;opacity:.6;animation:bounce-down 2.5s ease-in-out infinite;cursor:pointer;text-decoration:none}.landing-section{min-height:60vh;padding:100px 20px;display:flex;align-items:flex-start;justify-content:center;background:var(--bg-app, #f4f7f5)}.landing-section:first-of-type{padding-top:140px}.landing-section-inner{max-width:700px;text-align:center}.landing-section-title{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:800;letter-spacing:-.02em;color:var(--text-main, #1a2721);margin-bottom:16px}.landing-section-subtitle{font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.7;color:var(--text-muted, #4b5563);margin:0 auto;max-width:680px}.landing-section--white{background:#fff}.landing-section--alt{background:var(--bg-app, #f4f7f5)}.feature-grid{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.feature-card{background:#ffffffc7;border:1px solid rgba(255,255,255,.65);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-sm, 0 2px 4px rgba(26, 39, 33, .05));padding:24px 20px;text-align:left;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover, 0 10px 20px rgba(26, 39, 33, .12));border-color:#3f7b632e}.feature-icon{width:44px;height:44px;border-radius:12px;background:var(--brand-primary-light, #e8f4ef);display:flex;align-items:center;justify-content:center;margin-bottom:14px}.feature-icon svg{width:22px;height:22px;stroke:var(--brand-primary, #3f7b63);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.feature-card h3{font-size:1.02rem;letter-spacing:-.01em;margin-bottom:8px;color:var(--text-main, #1a2721)}.feature-card p{color:var(--text-muted, #4b5563);font-size:.92rem;line-height:1.65}.steps-grid{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.step-card{background:var(--bg-card, #fff);border:1px solid rgba(26,39,33,.08);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-sm, 0 2px 4px rgba(26, 39, 33, .05));padding:20px 18px;text-align:left;transition:transform .3s ease,box-shadow .3s ease}.step-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md, 0 4px 12px rgba(26, 39, 33, .08))}.step-number{width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:10px;color:var(--text-on-primary, #fff);background:var(--brand-primary, #3f7b63);font-weight:700;font-size:.9rem}.step-card h3{font-size:1rem;letter-spacing:-.01em;margin-bottom:8px;color:var(--text-main, #1a2721)}.step-card p{color:var(--text-muted, #4b5563);font-size:.92rem;line-height:1.65}.founder-section{background-color:var(--bg-app, #f8faf8);padding:100px 20px}.founder-card{max-width:800px;margin:0 auto;background:var(--bg-card, #ffffff);border-radius:var(--radius-xl, 24px);box-shadow:0 4px 24px #0000000f;padding:48px;border:1px solid var(--border-light, rgba(0, 0, 0, .06));display:flex;gap:40px;align-items:center}.founder-photo-wrapper{flex-shrink:0}.founder-photo-placeholder{width:140px;height:140px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary-light, #a8d5ab),var(--color-primary, #5d9b62));display:flex;align-items:center;justify-content:center;font-size:48px;border:4px solid var(--color-primary-light, #a8d5ab);box-shadow:0 8px 24px #5d9b6226}.founder-text{flex-grow:1;min-width:0}.founder-headline{font-size:1.65rem;font-weight:700;color:var(--text-main, #1a2721);margin:0 0 18px;line-height:1.3;letter-spacing:-.02em}.founder-quote{margin:0;padding:0;border:none}.founder-quote p{color:var(--text-muted, #6b7280);line-height:1.75;margin:0 0 12px;font-size:.95rem}.founder-quote p:last-child{margin-bottom:0}.founder-quote strong{color:var(--color-primary, #5d9b62);font-weight:600}.founder-signature{margin-top:24px;padding-top:16px;border-top:1px solid var(--border-light, rgba(0, 0, 0, .06));display:flex;align-items:baseline;gap:10px}.founder-name{font-weight:700;font-size:1.05rem;color:var(--text-main, #1a2721)}.founder-role{font-weight:400;font-size:.88rem;color:var(--text-placeholder, #9ca3af)}@media(max-width:768px){.founder-section{padding:64px 16px}.founder-card{flex-direction:column;text-align:center;padding:32px 24px;gap:24px}.founder-photo-placeholder{width:110px;height:110px;font-size:36px}.founder-headline{font-size:1.35rem}.founder-quote p{text-align:left;font-size:.9rem}.founder-signature{justify-content:center;flex-direction:column;align-items:center;gap:4px}}@media(max-width:480px){.founder-card{padding:24px 20px}.founder-photo-placeholder{width:90px;height:90px;font-size:28px;border-width:3px}.founder-headline{font-size:1.2rem}}.pricing-cards-container{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1000px;margin:40px auto;align-items:stretch}.pricing-card{background:var(--bg-card, #fff);border:1px solid rgba(26,39,33,.08);border-radius:20px;box-shadow:0 2px 4px #1a27210d;padding:24px 22px 22px;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease}.pricing-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00000014}.pricing-card-top{text-align:center;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid rgba(0,0,0,.06)}.pricing-plan{font-weight:700;font-size:1.05rem;color:var(--text-main, #1a2721);margin:0 0 10px}.pricing-price{display:flex;align-items:baseline;justify-content:center;gap:4px;line-height:1;margin-bottom:8px}.pricing-amount{font-size:2.5rem;font-weight:800;color:var(--text-main, #1a2721);letter-spacing:-.03em}.pricing-currency{font-size:.95rem;font-weight:500;color:var(--text-muted, #6b7280)}.pricing-plan-desc{font-size:.82rem;color:var(--text-muted, #6b7280);margin:0;line-height:1.4}.season-compact-badge{background:var(--bg-app, #f4f7f5);border:1px solid rgba(26,39,33,.06);padding:8px 12px;border-radius:6px;text-align:center;margin-top:10px}.season-compact-label{font-weight:700;color:var(--brand-primary, #3f7b63);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;display:block;line-height:1.3}.season-compact-text{font-size:.78rem;color:var(--text-muted, #6b7280);margin:3px 0 0;line-height:1.3}.season-compact-label.is-winter{animation:winterPulse 2s ease-in-out infinite}@keyframes winterPulse{0%,to{opacity:1}50%{opacity:.65}}.pricing-list{list-style:none;padding:0;margin:0 auto;display:flex;flex-direction:column;gap:8px;font-size:.9rem;color:var(--text-main, #374151);width:fit-content;text-align:left;flex:1}.pricing-list li{display:flex;align-items:center;gap:8px;line-height:1.35;white-space:nowrap;margin-bottom:12px;color:var(--text-main, #374151)}.pricing-list li:before{content:none}.pricing-list li.discord-item{color:#5865f2;font-weight:600;display:flex;align-items:center;gap:8px}.pricing-list li.discord-item:before{content:none}.discord-icon{flex-shrink:0;width:16px;height:16px;min-width:16px;margin:0;padding:0;color:#5865f2}.season-price-block{margin-bottom:0}.season-price-block .pricing-price{margin-bottom:4px}.season-subtitle{font-size:.72rem;font-weight:700;color:var(--brand-primary, #3f7b63);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;line-height:1.3}.season-explanation{font-size:.78rem;color:var(--text-muted, #6b7280);margin-top:8px;line-height:1.3;background:var(--bg-app, #f4f7f5);padding:8px 12px;border-radius:6px;border:1px solid rgba(26,39,33,.06)}.season-subtitle.is-winter{color:var(--brand-primary, #3f7b63);animation:winterPulse 2s ease-in-out infinite}@keyframes winterPulse{0%,to{opacity:1}50%{opacity:.7}}.pricing-btn{display:block;text-align:center;padding:18px 18px 11px;border-radius:12px;font-size:.88rem;font-weight:600;text-decoration:none;margin-top:auto;transition:all .2s ease;cursor:pointer;border:none;white-space:nowrap}.pricing-btn-primary{background:var(--brand-primary, #3f7b63);color:#fff}.pricing-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 4px 12px #3f7b6340}.pricing-btn-secondary{background:transparent;border:2px solid var(--brand-primary, #3f7b63);color:var(--brand-primary, #3f7b63);font-weight:600}.pricing-btn-secondary:hover{background:var(--brand-primary, #3f7b63);color:#fff}.pricing-btn-ghost{background:transparent;color:var(--text-main, #374151);border:1px solid rgba(0,0,0,.12)}.pricing-btn-ghost:hover{background:var(--bg-alt, #f3f4f6);border-color:var(--brand-primary, #3f7b63);color:var(--brand-primary, #3f7b63)}.pricing-community-note{text-align:center;margin-top:28px;color:var(--text-muted, #6b7280);font-size:.88rem;line-height:1.5;max-width:560px;margin-inline:auto}.pricing-community-note strong{color:var(--text-main, #374151)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s ease,transform .7s ease}.reveal.revealed{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.reveal-delay-4{transition-delay:.4s}.reveal-delay-5{transition-delay:.5s}.landing-section--testimonials{background:linear-gradient(180deg,var(--bg-app, #f4f7f5) 0%,#eef3f0 100%)}.testimonial-grid{margin-top:28px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.testimonial-card{background:var(--bg-card, #fff);border:1px solid rgba(26,39,33,.08);border-radius:var(--radius-lg, 16px);box-shadow:var(--shadow-sm, 0 2px 4px rgba(26, 39, 33, .05));padding:24px 20px;text-align:left;display:flex;flex-direction:column;gap:14px;transition:transform .3s ease,box-shadow .3s ease}.testimonial-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md, 0 4px 12px rgba(26, 39, 33, .08))}.testimonial-header{display:flex;align-items:center;gap:12px}.testimonial-avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:700;color:#fff;flex-shrink:0}.testimonial-author-info{display:flex;flex-direction:column}.testimonial-name{font-size:.92rem;font-weight:700;color:var(--text-main, #1a2721)}.testimonial-role{font-size:.78rem;color:var(--text-muted, #4b5563)}.testimonial-quote{font-size:.95rem;line-height:1.7;color:var(--text-muted, #4b5563);font-style:italic}.testimonial-quote:before{content:open-quote;font-size:1.4rem;font-weight:800;color:var(--brand-primary, #3f7b63);margin-right:2px;line-height:0;vertical-align:-4px}.testimonial-quote:after{content:close-quote;font-size:1.4rem;font-weight:800;color:var(--brand-primary, #3f7b63);margin-left:2px;line-height:0;vertical-align:-4px}.landing-cta-section{padding:80px 20px;background:linear-gradient(135deg,var(--brand-primary, #3f7b63) 0%,#2d5e49 100%);text-align:center}.landing-cta-inner{max-width:600px;margin:0 auto}.landing-cta-inner h2{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;letter-spacing:-.02em;color:#fff;margin-bottom:12px}.landing-cta-inner p{font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.7;color:#ffffffc7;margin-bottom:28px}.landing-cta-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.landing-cta-section .landing-btn-outline{background:transparent;color:#fff;border-color:#fff6}.landing-cta-section .landing-btn-outline:hover{background:#ffffff1f;border-color:#ffffffb3}.landing-cta-section .landing-btn-primary{background:#fff;color:var(--brand-primary, #3f7b63)}.landing-cta-section .landing-btn-primary:hover{background:#f0f0f0;box-shadow:0 4px 16px #00000026}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.4)}}@keyframes bounce-down{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(8px)}60%{transform:translate(-50%) translateY(4px)}}@keyframes blob-drift{0%,to{transform:translate(0) scale(1)}25%{transform:translate(30px,-20px) scale(1.05)}50%{transform:translate(-20px,20px) scale(.95)}75%{transform:translate(10px,10px) scale(1.02)}}@media(max-width:1024px){.hero-content{margin-top:max(14vh,110px)}.hero-mockup{max-width:780px}.feature-grid,.steps-grid,.testimonial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-cards-container{gap:14px}.pricing-card{padding:20px 18px 18px}.pricing-amount{font-size:2.2rem}}@media(max-width:768px){.landing-nav{top:10px;width:calc(100% - 20px);padding:8px 8px 8px 16px;border-radius:var(--radius-xl, 20px)}.landing-nav.scrolled{top:6px}.landing-nav-links,.landing-nav-actions{display:none}.landing-nav-hamburger{display:flex}.hero-blob-1{width:300px;height:300px}.hero-blob-2{width:200px;height:200px}.hero-blob-3{display:none}.hero-content{margin-top:max(13vh,100px);padding:0 16px}.hero-title{font-size:clamp(2rem,8vw,2.8rem);letter-spacing:-.02em;margin-bottom:16px}.hero-subtitle{font-size:.95rem;margin-bottom:28px;line-height:1.65}.hero-cta-group{flex-direction:column;width:100%;max-width:320px}.hero-cta-group .landing-btn{width:100%;justify-content:center}.hero-social-proof{flex-direction:column;gap:8px;margin-top:28px}.hero-mockup-wrapper{padding:0 12px;margin-top:36px;margin-bottom:-60px}.hero-mockup{border-radius:var(--radius-md, 10px)}.hero-mockup-bar{padding:8px 12px}.mockup-dot{width:8px;height:8px}.mockup-bar-url{font-size:.68rem;margin-right:20px}.hero-scroll-indicator{font-size:.72rem;margin-top:28px}.landing-section{padding:84px 16px}.landing-section:first-of-type{padding-top:120px}.feature-grid,.steps-grid,.pricing-cards-container,.testimonial-grid{grid-template-columns:1fr;gap:10px;margin-top:22px}.landing-cta-section{padding:60px 16px}.landing-cta-buttons{flex-direction:column;align-items:center}.landing-cta-buttons .landing-btn{width:100%;max-width:320px;justify-content:center}.pricing-amount{font-size:2.2rem}.pricing-list{width:fit-content}.pricing-list li{white-space:normal}}@media(max-width:380px){.hero-title{font-size:1.8rem}.hero-subtitle{font-size:.88rem}.hero-badge{font-size:.72rem;padding:5px 12px 5px 8px}.landing-btn-lg{padding:12px 20px;font-size:.88rem}.hero-avatar{width:28px;height:28px;font-size:.65rem}}.site-footer{background-color:var(--text-main, #111827);color:#9ca3af;padding:60px 20px 20px;font-size:.9rem;line-height:1.6}.footer-inner{max-width:900px;margin:0 auto;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-col{display:flex;flex-direction:column;gap:10px}.footer-col h4{color:#e5e7eb;font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}.footer-col a{text-decoration:none;color:#9ca3af;font-size:.88rem;transition:color .15s ease}.footer-col a:hover{color:#fff}.footer-brand p{max-width:280px;font-size:.88rem;line-height:1.65;margin-top:4px}.footer-logo{display:flex;align-items:center;gap:10px}.footer-logo img{border-radius:6px}.footer-logo span{color:#fff;font-size:1rem;font-weight:700;letter-spacing:-.01em}.footer-bottom{max-width:900px;margin:40px auto 0;padding-top:20px;border-top:1px solid rgba(255,255,255,.08);text-align:center;font-size:.82rem;color:#6b7280}@media(max-width:768px){.footer-inner{grid-template-columns:1fr;gap:32px;text-align:center}.footer-brand p{max-width:100%}.footer-logo{justify-content:center}.site-footer{padding:48px 16px 16px}}@media(prefers-reduced-motion:reduce){.hero-badge,.hero-title,.hero-subtitle,.hero-cta-group,.hero-social-proof,.hero-mockup-wrapper{animation:none!important;opacity:1!important;transform:none!important}.hero-mockup,.hero-badge-dot,.hero-scroll-indicator,.hero-blob{animation:none!important}.reveal{opacity:1!important;transform:none!important;transition:none!important}}.legal-page{min-height:100vh;background:url(/bg-hero.jpg) center / cover no-repeat fixed;display:flex;justify-content:center;padding:var(--space-3xl) var(--space-lg) var(--space-xl);position:relative}.legal-page:before{content:"";position:fixed;inset:0;background:linear-gradient(180deg,#fdf8f04d,#00000040 60%,#0006);z-index:0;pointer-events:none}.legal-container{position:relative;z-index:1;max-width:680px;width:100%;background:#ffffffeb;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-2xl, 24px);padding:var(--space-3xl) var(--space-2xl);box-shadow:0 8px 40px #0000001f,0 1px 3px #0000000f;border:1px solid rgba(255,255,255,.5);margin-bottom:var(--space-3xl)}.legal-back-link{display:inline-block;color:var(--brand-primary);font-weight:600;font-size:var(--font-size-sm);text-decoration:none;margin-bottom:var(--space-xl);transition:opacity var(--transition-fast)}.legal-back-link:hover{opacity:.7}.legal-container h1{font-size:var(--font-size-2xl, 1.5rem);font-weight:800;color:var(--text-main);margin:0 0 var(--space-xs) 0;line-height:1.3}.legal-subtitle{font-size:var(--font-size-base, .9375rem);color:var(--text-secondary);line-height:1.6;margin:0 0 var(--space-sm) 0}.legal-updated{font-size:var(--font-size-xs);color:var(--text-muted);margin:0 0 var(--space-2xl) 0;padding-bottom:var(--space-lg);border-bottom:1px solid var(--border-light)}.legal-container section{margin-bottom:var(--space-2xl)}.legal-container h2{font-size:var(--font-size-lg, 1.125rem);font-weight:700;color:var(--text-main);margin:0 0 var(--space-md) 0}.legal-container p{font-size:var(--font-size-base, .9375rem);color:var(--text-main);line-height:1.7;margin:0 0 var(--space-md) 0}.legal-container ul{padding-left:var(--space-xl);margin:0 0 var(--space-md) 0}.legal-container li{font-size:var(--font-size-base, .9375rem);color:var(--text-main);line-height:1.7;margin-bottom:var(--space-xs)}.legal-container a{color:var(--brand-primary);text-decoration:none;font-weight:500}.legal-container a:hover{text-decoration:underline}.legal-highlight{background:var(--bg-subtle, #f0faf4);border-left:3px solid var(--brand-primary);padding:var(--space-sm) var(--space-md);border-radius:0 var(--radius-md, 8px) var(--radius-md, 8px) 0;font-size:var(--font-size-sm);color:var(--text-main);margin:var(--space-md) 0}.legal-note{font-size:var(--font-size-xs, .8rem);color:var(--text-muted);line-height:1.6;margin-top:var(--space-md)}.legal-info-cards{display:flex;flex-direction:column;gap:var(--space-sm)}.legal-info-card{display:flex;flex-direction:column;gap:2px;background:var(--bg-subtle, #f8faf9);border-radius:var(--radius-lg, 12px);padding:var(--space-md);border:1px solid var(--border-ultralight, #eef1ef)}.legal-info-card strong{font-size:var(--font-size-sm);color:var(--text-main)}.legal-info-card span{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.5}.legal-rights-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.legal-right-item{display:flex;align-items:flex-start;gap:var(--space-sm);background:var(--bg-subtle, #f8faf9);border-radius:var(--radius-lg, 12px);padding:var(--space-md);border:1px solid var(--border-ultralight, #eef1ef)}.legal-right-icon{font-size:1.25rem;flex-shrink:0;margin-top:2px}.legal-right-item div{display:flex;flex-direction:column;gap:2px}.legal-right-item strong{font-size:var(--font-size-sm);color:var(--text-main)}.legal-right-item span{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.4}.legal-storage-list{display:flex;flex-direction:column;gap:var(--space-xs);margin:var(--space-md) 0}.legal-storage-item{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--bg-subtle, #f8faf9);border-radius:var(--radius-md, 8px);border:1px solid var(--border-ultralight, #eef1ef)}.legal-storage-icon{font-size:1.1rem;flex-shrink:0;margin-top:2px}.legal-storage-item div{display:flex;flex-direction:column;gap:1px}.legal-storage-item strong{font-size:var(--font-size-sm);color:var(--text-main)}.legal-storage-item span{font-size:var(--font-size-xs);color:var(--text-secondary);line-height:1.4}.legal-footer-nav{display:flex;gap:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--border-light);margin-top:var(--space-xl)}.legal-footer-nav a{font-size:var(--font-size-sm);font-weight:600}.cookie-consent-banner{position:fixed;bottom:0;left:0;right:0;z-index:var(--z-toast, 3000);background:var(--bg-glass-strong, rgba(255, 255, 255, .97));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--border-light);box-shadow:0 -4px 24px #0000001a;padding:var(--space-xl) var(--space-2xl);display:flex;justify-content:center;animation:slideUpBanner .35s ease}@keyframes slideUpBanner{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.cookie-consent-body{max-width:720px;width:100%}.cookie-consent-title{font-size:var(--font-size-base, .9375rem);font-weight:700;color:var(--text-main);margin:0 0 var(--space-sm) 0;display:flex;align-items:center;gap:8px}.cookie-consent-icon{width:22px;height:22px;flex-shrink:0;opacity:.85}.cookie-consent-text{font-size:var(--font-size-sm, .8125rem);color:var(--text-secondary);line-height:1.6;margin:0}.cookie-consent-text strong{color:var(--text-main);font-weight:600}.cookie-consent-text a{color:var(--brand-primary);font-weight:600;text-decoration:none}.cookie-consent-text a:hover{text-decoration:underline}.cookie-consent-detail{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid rgba(0,0,0,.06);animation:fadeInDetail .2s ease}@keyframes fadeInDetail{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.cookie-detail-items{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs, 6px)}.cookie-detail-item{display:flex;align-items:flex-start;gap:var(--space-xs, 6px);padding:var(--space-xs, 6px) var(--space-sm, 8px);background:#00000005;border-radius:var(--radius-md, 8px)}.cookie-detail-item>span:first-child{font-size:.9rem;flex-shrink:0;margin-top:1px}.cookie-detail-item div{display:flex;flex-direction:column;gap:0}.cookie-detail-item strong{font-size:var(--font-size-xs, .75rem);color:var(--text-main);line-height:1.3}.cookie-detail-item div span{font-size:.7rem;color:var(--text-muted);line-height:1.3}.cookie-consent-footnote{font-size:.7rem;color:var(--text-muted);line-height:1.4;margin:var(--space-sm) 0 0}.cookie-consent-joke{font-size:.75rem;color:var(--text-muted);opacity:.7;margin:4px 0 0;font-style:italic}.cookie-consent-actions{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-lg);gap:var(--space-md)}.cookie-consent-detail-btn{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-xs, .75rem);font-weight:600;cursor:pointer;padding:4px 0;text-decoration:underline;text-underline-offset:2px;transition:color var(--transition-fast)}.cookie-consent-detail-btn:hover{color:var(--text-main)}.cookie-consent-buttons{display:flex;align-items:center;gap:var(--space-md)}.cookie-consent-link{font-size:var(--font-size-xs, .75rem);color:var(--brand-primary);font-weight:600;text-decoration:none;white-space:nowrap}.cookie-consent-link:hover{text-decoration:underline}.cookie-consent-accept{background:var(--brand-primary);color:var(--text-on-primary, #fff);border:none;padding:8px 28px;border-radius:var(--radius-full, 9999px);font-weight:700;font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),transform var(--transition-fast);flex-shrink:0}.cookie-consent-accept:hover{background:var(--brand-primary-hover);transform:scale(1.03)}@media(max-width:600px){.legal-page{padding:var(--space-lg) var(--space-sm)}.legal-container{padding:var(--space-xl) var(--space-lg);border-radius:var(--radius-lg)}.legal-container h1{font-size:var(--font-size-xl)}.legal-rights-grid{grid-template-columns:1fr}.legal-footer-nav{flex-direction:column;gap:var(--space-md)}.cookie-consent-banner{padding:var(--space-lg)}.cookie-consent-actions{flex-direction:column;align-items:stretch;gap:var(--space-sm)}.cookie-consent-buttons{justify-content:space-between}.cookie-detail-items{grid-template-columns:1fr}}
