/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--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-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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-600:oklch(57.7% .245 27.325);--color-red-700:oklch(50.5% .213 27.518);--color-yellow-500:oklch(79.5% .184 86.047);--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wide:.025em;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){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}*,:before,:after{box-sizing:border-box;margin:0;padding:0;margin:0;padding:0}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.\!visible{visibility:visible!important}.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-x-0{inset-inline:0}.top-0{top:0}.top-12{top:calc(var(--spacing) * 12)}.top-\[calc\(100\%\+8px\)\]{top:calc(100% + 8px)}.right-0{right:0}.right-1\.5{right:calc(var(--spacing) * 1.5)}.bottom-0{bottom:0}.left-0{left:0}.left-2\.5{left:calc(var(--spacing) * 2.5)}.z-10{z-index:10}.z-\[5\]{z-index:5}.z-\[55\]{z-index:55}.z-\[100\]{z-index:100}.-m-7{margin:calc(var(--spacing) * -7)}.-mx-4{margin-inline:calc(var(--spacing) * -4)}.mt-0{margin-top:0}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mr-1{margin-right:var(--spacing)}.mb-1{margin-bottom:var(--spacing)}.mb-2\.5{margin-bottom:calc(var(--spacing) * 2.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-8{height:calc(var(--spacing) * 8)}.h-14{height:calc(var(--spacing) * 14)}.h-\[13px\]{height:13px}.h-\[15px\]{height:15px}.h-\[18px\]{height:18px}.h-\[34px\]{height:34px}.h-\[calc\(100vh-48px\)\]{height:calc(100vh - 48px)}.h-full{height:100%}.min-h-0{min-height:0}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-3{width:calc(var(--spacing) * 3)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-4{width:calc(var(--spacing) * 4)}.w-5{width:calc(var(--spacing) * 5)}.w-7{width:calc(var(--spacing) * 7)}.w-11{width:calc(var(--spacing) * 11)}.w-\[13px\]{width:13px}.w-\[15px\]{width:15px}.w-\[18px\]{width:18px}.w-\[34px\]{width:34px}.w-full{width:100%}.max-w-\[280px\]{max-width:280px}.min-w-0{min-width:0}.min-w-\[18px\]{min-width:18px}.min-w-\[170px\]{min-width:170px}.min-w-\[180px\]{min-width:180px}.flex-1{flex:1}.shrink-0{flex-shrink:0}.rotate-90{rotate:90deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.cursor-col-resize{cursor:col-resize}.cursor-grab{cursor:grab}.cursor-pointer{cursor:pointer}.resize{resize:both}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-0{gap:0}.gap-0\.5{gap:calc(var(--spacing) * .5)}.gap-1{gap:var(--spacing)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-px{gap:1px}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-hidden{overflow-x:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[1\.5px\]{border-style:var(--tw-border-style);border-width:1.5px}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--accent\)\]{border-color:var(--accent)}.border-\[var\(--border-color\)\]{border-color:var(--border-color)}.border-transparent{border-color:#0000}.bg-\[\#3b82f6\]\/12{background-color:oklab(62.3083% -.0332476 -.185052/.12)}.bg-\[color-mix\(in_srgb\,var\(--bg-card\)_85\%\,var\(--accent\)_15\%\)\]{background-color:var(--bg-card)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_srgb\,var\(--bg-card\)_85\%\,var\(--accent\)_15\%\)\]{background-color:color-mix(in srgb,var(--bg-card) 85%,var(--accent) 15%)}}.bg-\[color-mix\(in_srgb\,var\(--bg-page\)_85\%\,var\(--accent\)_15\%\)\]{background-color:var(--bg-page)}@supports (color:color-mix(in lab, red, red)){.bg-\[color-mix\(in_srgb\,var\(--bg-page\)_85\%\,var\(--accent\)_15\%\)\]{background-color:color-mix(in srgb,var(--bg-page) 85%,var(--accent) 15%)}}.bg-\[var\(--accent\)\],.bg-\[var\(--accent\)\]\/10{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--accent\)\]\/10{background-color:color-mix(in oklab, var(--accent) 10%, transparent)}}.bg-\[var\(--accent\)\]\/15{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-\[var\(--accent\)\]\/15{background-color:color-mix(in oklab, var(--accent) 15%, transparent)}}.bg-\[var\(--bg-card\)\]{background-color:var(--bg-card)}.bg-\[var\(--bg-page\)\]{background-color:var(--bg-page)}.bg-\[var\(--sidebar-bg\)\]{background-color:var(--sidebar-bg)}.bg-black\/40{background-color:#0006}@supports (color:color-mix(in lab, red, red)){.bg-black\/40{background-color:color-mix(in oklab, var(--color-black) 40%, transparent)}}.bg-red-600{background-color:var(--color-red-600)}.bg-transparent{background-color:#0000}.bg-yellow-500\/15{background-color:#edb20026}@supports (color:color-mix(in lab, red, red)){.bg-yellow-500\/15{background-color:color-mix(in oklab, var(--color-yellow-500) 15%, transparent)}}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[var\(--accent\)\]{--tw-gradient-from:var(--accent);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.to-\[var\(--accent-hover\)\]{--tw-gradient-to:var(--accent-hover);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.p-1\.5{padding:calc(var(--spacing) * 1.5)}.p-2{padding:calc(var(--spacing) * 2)}.px-1{padding-inline:var(--spacing)}.px-1\.5{padding-inline:calc(var(--spacing) * 1.5)}.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-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-1{padding-block:var(--spacing)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.pt-1{padding-top:var(--spacing)}.pr-2\.5{padding-right:calc(var(--spacing) * 2.5)}.pr-7{padding-right:calc(var(--spacing) * 7)}.pb-1\.5{padding-bottom:calc(var(--spacing) * 1.5)}.pl-4{padding-left:calc(var(--spacing) * 4)}.pl-8{padding-left:calc(var(--spacing) * 8)}.text-center{text-align:center}.text-left{text-align:left}.font-\[inherit\]{font-family:inherit}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[12\.5px\]{font-size:12.5px}.text-\[13\.5px\]{font-size:13.5px}.text-\[13px\]{font-size:13px}.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-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.whitespace-nowrap{white-space:nowrap}.text-\[\#3b82f6\]{color:#3b82f6}.text-\[var\(--accent\)\]{color:var(--accent)}.text-\[var\(--text-faint\)\]{color:var(--text-faint)}.text-\[var\(--text-muted\)\]{color:var(--text-muted)}.text-\[var\(--text-primary\)\]{color:var(--text-primary)}.text-\[var\(--text-secondary\)\]{color:var(--text-secondary)}.text-red-600{color:var(--color-red-600)}.text-white{color:var(--color-white)}.text-yellow-500{color:var(--color-yellow-500)}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.opacity-50{opacity:.5}.shadow-\[0_1px_2px_rgba\(0\,0\,0\,0\.04\)\]{--tw-shadow:0 1px 2px var(--tw-shadow-color,#0000000a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_2px_8px_rgba\(0\,0\,0\,0\.12\)\]{--tw-shadow:0 2px 8px var(--tw-shadow-color,#0000001f);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[inset_3px_0_0_var\(--accent\)\]{--tw-shadow:inset 3px 0 0 var(--tw-shadow-color,var(--accent));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)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a), 0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--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)}.shadow-black\/10{--tw-shadow-color:#0000001a}@supports (color:color-mix(in lab, red, red)){.shadow-black\/10{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 10%, transparent) var(--tw-shadow-alpha), transparent)}}.shadow-black\/15{--tw-shadow-color:#00000026}@supports (color:color-mix(in lab, red, red)){.shadow-black\/15{--tw-shadow-color:color-mix(in oklab, color-mix(in oklab, var(--color-black) 15%, transparent) var(--tw-shadow-alpha), transparent)}}.ring-transparent{--tw-ring-color:transparent}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.outline-\[1\.5px\]{outline-style:var(--tw-outline-style);outline-width:1.5px}.-outline-offset-\[1\.5px\]{outline-offset:calc(1.5px * -1)}.outline-\[var\(--accent\)\]{outline-color:var(--accent)}.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-\[width\]{transition-property:width;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-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))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-none{transition-property:none}.duration-150{--tw-duration:.15s;transition-duration:.15s}.outline-dashed{--tw-outline-style:dashed;outline-style:dashed}.outline-none{--tw-outline-style:none;outline-style:none}.group-focus-within\/search\:text-\[var\(--accent\)\]:is(:where(.group\/search):focus-within *){color:var(--accent)}@media (hover:hover){.group-hover\/item\:flex:is(:where(.group\/item):hover *),.group-hover\/row\:flex:is(:where(.group\/row):hover *){display:flex}}.placeholder\:text-\[var\(--text-faint\)\]::placeholder{color:var(--text-faint)}@media (hover:hover){.hover\:bg-\[var\(--accent\)\]:hover{background-color:var(--accent)}.hover\:bg-\[var\(--accent-hover\)\]:hover{background-color:var(--accent-hover)}.hover\:bg-\[var\(--bg-hover\)\]:hover{background-color:var(--bg-hover)}.hover\:bg-red-600\/10:hover{background-color:#e400141a}@supports (color:color-mix(in lab, red, red)){.hover\:bg-red-600\/10:hover{background-color:color-mix(in oklab, var(--color-red-600) 10%, transparent)}}.hover\:bg-red-700:hover{background-color:var(--color-red-700)}.hover\:text-\[var\(--accent\)\]:hover{color:var(--accent)}.hover\:text-\[var\(--text-primary\)\]:hover{color:var(--text-primary)}.hover\:text-white:hover{color:var(--color-white)}.hover\:opacity-40:hover{opacity:.4}.hover\:opacity-80:hover{opacity:.8}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow:hover{--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)}.hover\:shadow-md:hover{--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)}}.focus\:border-\[var\(--accent\)\]:focus{border-color:var(--accent)}.focus\:ring-4:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(4px + 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-\[var\(--accent\)\]\/10:focus{--tw-ring-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.focus\:ring-\[var\(--accent\)\]\/10:focus{--tw-ring-color:color-mix(in oklab, var(--accent) 10%, transparent)}}.focus-visible\:outline:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-1:focus-visible{outline-offset:1px}.focus-visible\:outline-offset-2:focus-visible{outline-offset:2px}.focus-visible\:outline-\[var\(--accent\)\]:focus-visible{outline-color:var(--accent)}.active\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x) var(--tw-scale-y)}.active\:cursor-grabbing:active{cursor:grabbing}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}@media not all and (width>=48rem){.max-md\:fixed{position:fixed}.max-md\:top-12{top:calc(var(--spacing) * 12)}.max-md\:left-0{left:0}.max-md\:z-\[60\]{z-index:60}.max-md\:-m-4{margin:calc(var(--spacing) * -4)}.max-md\:-mx-3{margin-inline:calc(var(--spacing) * -3)}.max-md\:h-\[calc\(100vh-48px\)\]{height:calc(100vh - 48px)}.max-md\:px-3{padding-inline:calc(var(--spacing) * 3)}.max-md\:shadow-\[4px_0_24px_rgba\(0\,0\,0\,0\.25\)\]{--tw-shadow:4px 0 24px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}@media (width>=48rem){.md\:mr-2{margin-right:calc(var(--spacing) * 2)}.md\:hidden{display:none}.md\:inline{display:inline}.md\:gap-2{gap:calc(var(--spacing) * 2)}.md\:px-3{padding-inline:calc(var(--spacing) * 3)}.md\:px-6{padding-inline:calc(var(--spacing) * 6)}.md\:pr-4{padding-right:calc(var(--spacing) * 4)}}.\[\&_svg\]\:h-3 svg{height:calc(var(--spacing) * 3)}.\[\&_svg\]\:h-3\.5 svg{height:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:h-4 svg{height:calc(var(--spacing) * 4)}.\[\&_svg\]\:h-\[13px\] svg{height:13px}.\[\&_svg\]\:h-\[15px\] svg{height:15px}.\[\&_svg\]\:h-\[18px\] svg{height:18px}.\[\&_svg\]\:w-3 svg{width:calc(var(--spacing) * 3)}.\[\&_svg\]\:w-3\.5 svg{width:calc(var(--spacing) * 3.5)}.\[\&_svg\]\:w-4 svg{width:calc(var(--spacing) * 4)}.\[\&_svg\]\:w-\[13px\] svg{width:13px}.\[\&_svg\]\:w-\[15px\] svg{width:15px}.\[\&_svg\]\:w-\[18px\] svg{width:18px}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_svg\]\:opacity-70 svg{opacity:.7}.\[\&_svg\]\:opacity-100 svg{opacity:1}}:root{--bg-page:#f5f6f7;--bg-card:#fff;--bg-hover:#f5f9ff;--bg-active:#eef4ff;--border-color:#e2e5e9;--border-strong:#cbd1d9;--text-primary:#1b2534;--text-secondary:#3b4554;--text-muted:#7e8d9f;--text-faint:#9eaab7;--accent:#1565c0;--accent-hover:#0d47a1;--input-border:#c8ced7;--navbar-bg:#fff;--sidebar-bg:#fff;--success-bg:#e5f5ea;--success-fg:#1d7a3e;--warning-bg:#fbf1dc;--warning-fg:#92660a;--error-bg:#fbe9e9;--error-fg:#b0242a;--tag1-bg:#edf1fd;--tag1-fg:#3b5bdb;--tag2-bg:#f2edfb;--tag2-fg:#6e3fc7;--tag3-bg:#e6f5f3;--tag3-fg:#147d6f;--tag4-bg:#fbeee0;--tag4-fg:#a0560a}[data-theme=dark]{--bg-page:#0f1117;--bg-card:#1a1d27;--bg-hover:#1e2235;--bg-active:#1a2540;--border-color:#2a2d3d;--border-strong:#3a3f52;--text-primary:#e2e8f0;--text-secondary:#c4cdd8;--text-muted:#7e8d9f;--text-faint:#525f72;--accent:#42a5f5;--accent-hover:#1e88e5;--input-border:#3a3f52;--navbar-bg:#13161f;--sidebar-bg:#13161f;--success-bg:#163821;--success-fg:#4ade80;--warning-bg:#3a2e0f;--warning-fg:#facc15;--error-bg:#3a1717;--error-fg:#f87171;--tag1-bg:#1a2540;--tag1-fg:#7f9cf5;--tag2-bg:#241f3a;--tag2-fg:#b794f6;--tag3-bg:#0f2e2a;--tag3-fg:#5eead4;--tag4-bg:#33240f;--tag4-fg:#fbbf6b}:root{--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/145% var(--sans);letter-spacing:.18px;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{box-sizing:border-box;width:100%;min-height:100svh}html,body{max-width:100vw;margin:0;overflow-x:hidden}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}html,body,#root{width:100%;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.login-page{width:100%;max-width:100vw;min-height:100vh;display:flex;overflow-x:hidden}.login-left{background:var(--bg-card);flex-direction:column;flex:1;justify-content:center;padding:60px 56px;display:flex}.login-logo{align-items:center;gap:10px;margin-bottom:48px;text-decoration:none;display:flex}.login-logo-icon{background:linear-gradient(135deg,#3b82f6,#1e40af);border-radius:9px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.login-logo-icon svg{fill:#fff;width:22px;height:22px}.login-logo-text{color:var(--text-primary);letter-spacing:-.3px;font-size:22px;font-weight:700}.login-left h1{color:var(--text-primary);margin-bottom:8px;font-size:26px;font-weight:700}.login-subtitle{color:var(--text-muted);margin-bottom:36px;font-size:14px}.login-error{color:#ff4d4f;background:#ff4d4f14;border:1px solid #ff4d4f66;border-radius:5px;align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 14px;font-size:13px;display:flex}.login-form{flex-direction:column;gap:18px;display:flex}.login-field{flex-direction:column;gap:6px;display:flex}.login-field label{color:var(--text-secondary);font-size:13px;font-weight:500}.login-field input{border:1px solid var(--input-border);height:42px;color:var(--text-primary);background:var(--bg-card);border-radius:5px;outline:none;width:100%;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.login-field input::placeholder{color:var(--text-faint)}.login-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4d9fff2e}.login-forgot{justify-content:flex-end;margin-top:-10px;display:flex}.login-forgot a{color:var(--accent);font-size:13px;text-decoration:none}.login-forgot a:hover{text-decoration:underline}.login-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;gap:8px;width:100%;height:42px;margin-top:4px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.login-submit:hover:not(:disabled){background:var(--accent-hover)}.login-submit:disabled{opacity:.65;cursor:not-allowed}.login-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-footer{color:var(--text-muted);margin-top:28px;font-size:13px}.login-footer a{color:var(--accent);font-weight:500;text-decoration:none}.login-footer a:hover{text-decoration:underline}.login-right{background:linear-gradient(145deg,#1565c0 0%,#0d47a1 100%);flex-direction:column;flex:1;justify-content:center;align-items:center;padding:60px 48px;display:flex;position:relative;overflow:hidden}.login-right:before{content:"";background:#ffffff0d;border-radius:50%;width:480px;height:480px;position:absolute;top:-120px;right:-120px}.login-right:after{content:"";background:#ffffff0d;border-radius:50%;width:320px;height:320px;position:absolute;bottom:-80px;left:-80px}.login-right-content{z-index:1;text-align:center;max-width:420px;position:relative}.login-right-icon{background:#ffffff26;border-radius:20px;justify-content:center;align-items:center;width:72px;height:72px;margin:0 auto 32px;display:flex}.login-right-icon svg{fill:#fff;width:38px;height:38px}.login-right-content h2{color:#fff;margin-bottom:16px;font-size:28px;font-weight:700;line-height:1.3}.login-right-content p{color:#ffffffbf;margin-bottom:40px;font-size:15px;line-height:1.7}.login-features{text-align:left;flex-direction:column;gap:14px;list-style:none;display:flex}.login-features li{color:#ffffffe6;align-items:center;gap:12px;font-size:14px;display:flex}.login-features li:before{content:"";background:#fff3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") 50%/13px no-repeat;border-radius:50%;flex-shrink:0;width:20px;height:20px}.notice-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0000008c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.notice-modal{background:var(--bg-card);text-align:center;border-radius:12px;flex-direction:column;align-items:center;gap:16px;width:100%;max-width:460px;padding:36px 40px;display:flex;box-shadow:0 20px 60px #00000040}.notice-badge{letter-spacing:.6px;text-transform:uppercase;color:#b45309;background:#eab30826;border:1px solid #eab30866;border-radius:20px;align-items:center;padding:4px 12px;font-size:11px;font-weight:700;display:inline-flex}.notice-title{color:var(--text-primary);margin:0;font-size:20px;font-weight:700;line-height:1.3}.notice-body{color:var(--text-muted);margin:0;font-size:14px;line-height:1.7}.notice-body strong{color:var(--text-secondary);font-weight:600}.notice-dismiss{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;height:42px;margin-top:8px;padding:0 28px;font-size:14px;font-weight:600;transition:background .15s}.notice-dismiss:hover{background:var(--accent-hover)}@media (width<=768px){.login-page{flex-direction:column}.login-left{flex:none;width:100%;padding:40px 24px}.login-right{flex:none;width:100%;padding:48px 24px}.login-field input{width:100%;max-width:100%}}.register-page{width:100%;max-width:100vw;min-height:100vh;display:flex;overflow-x:hidden}.register-panel-brand{background:linear-gradient(145deg,#1565c0 0%,#0d47a1 100%);flex-direction:column;flex:0 0 380px;justify-content:center;align-items:center;padding:60px 48px;display:flex;position:relative;overflow:hidden}.register-panel-brand:before{content:"";background:#ffffff0d;border-radius:50%;width:480px;height:480px;position:absolute;top:-120px;right:-120px}.register-panel-brand:after{content:"";background:#ffffff0d;border-radius:50%;width:320px;height:320px;position:absolute;bottom:-80px;left:-80px}.register-brand-content{z-index:1;text-align:center;position:relative}.register-brand-icon{justify-content:center;align-items:center;margin:0 auto 28px;display:flex}.register-brand-icon svg{width:80px;height:80px}.register-brand-content h2{color:#fff;margin-bottom:14px;font-size:24px;font-weight:700;line-height:1.3}.register-brand-content p{color:#ffffffbf;margin-bottom:36px;font-size:14px;line-height:1.7}.register-steps{text-align:left;flex-direction:column;gap:14px;list-style:none;display:flex}.register-steps li{color:#ffffffe0;align-items:center;gap:12px;font-size:13.5px;display:flex}.register-steps li:before{content:"";background:#fff3 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white'%3E%3Cpath d='M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z'/%3E%3C/svg%3E") 50%/13px no-repeat;border-radius:50%;flex-shrink:0;width:20px;height:20px}.register-panel-form{background:var(--bg-card);flex-direction:column;flex:1;padding:48px 56px;display:flex;overflow-y:auto}.register-logo{align-items:center;gap:10px;margin-bottom:36px;text-decoration:none;display:flex}.register-logo-icon{background:linear-gradient(135deg,#3b82f6,#1e40af);border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.register-logo-icon svg{fill:#fff;width:20px;height:20px}.register-logo-text{color:var(--text-primary);letter-spacing:-.3px;font-size:20px;font-weight:700}.register-panel-form h1{color:var(--text-primary);margin-bottom:6px;font-size:24px;font-weight:700}.register-subtitle{color:var(--text-muted);margin-bottom:32px;font-size:13.5px}.register-error{color:#ff4d4f;background:#ff4d4f14;border:1px solid #ff4d4f66;border-radius:5px;align-items:flex-start;gap:10px;margin-bottom:20px;padding:12px 14px;font-size:13px;display:flex}.register-success{color:#389e0d;text-align:center;background:#52c41a14;border:1px solid #52c41a66;border-radius:5px;margin-bottom:20px;padding:20px;font-size:14px}.register-section-title{letter-spacing:.7px;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border-color);margin-bottom:14px;padding-bottom:8px;font-size:11px;font-weight:600}.register-form{flex-direction:column;gap:24px;max-width:680px;display:flex}.register-section{flex-direction:column;gap:16px;display:flex}.register-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.register-field{flex-direction:column;gap:5px;display:flex}.register-field label{color:var(--text-secondary);font-size:13px;font-weight:500}.register-field input,.register-field select{border:1px solid var(--input-border);height:40px;color:var(--text-primary);background:var(--bg-card);border-radius:5px;outline:none;width:100%;padding:0 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.register-field input::placeholder{color:var(--text-faint)}.register-field input:focus,.register-field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #4d9fff2e}.register-location-box{border:1px solid var(--border-color);background:var(--bg-page);height:40px;color:var(--text-primary);border-radius:5px;align-items:center;gap:10px;padding:0 12px;font-size:14px;display:flex}.register-location-badge{letter-spacing:.4px;color:var(--accent);background:#4d9fff1a;border-radius:3px;flex-shrink:0;padding:2px 6px;font-size:11px;font-weight:600}.register-location-unknown{color:var(--text-faint);font-size:13px;font-style:italic}.register-location-value{color:var(--text-primary);flex:1;font-size:14px}.register-change-link{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;flex-shrink:0;margin-left:auto;padding:0;font-size:12px;font-weight:500;text-decoration:underline}.register-change-link:hover{color:var(--accent-hover)}.register-hint{text-align:left;color:var(--text-secondary,#64748b);margin:0 0 4px;font-size:13px;line-height:1.6}.register-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:5px;justify-content:center;align-items:center;gap:8px;width:100%;max-width:680px;height:42px;margin-top:8px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.register-submit:hover:not(:disabled){background:var(--accent-hover)}.register-submit:disabled{opacity:.65;cursor:not-allowed}.register-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite reg-spin}@keyframes reg-spin{to{transform:rotate(360deg)}}.register-footer{color:var(--text-muted);max-width:680px;margin-top:24px;font-size:13px}.register-footer a{color:var(--accent);font-weight:500;text-decoration:none}.register-footer a:hover{text-decoration:underline}@media (width<=960px){.register-panel-brand{display:none}}@media (width<=600px){.register-panel-form{padding:32px 20px}.register-row{grid-template-columns:1fr}}.welcome-page{background:var(--bg-main,#f8fafc);justify-content:center;align-items:center;width:100%;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.welcome-card{background:var(--bg-card,#fff);border:1px solid var(--border,#e2e8f0);text-align:center;border-radius:16px;width:100%;max-width:640px;padding:48px 48px 44px;box-shadow:0 4px 24px #0000000f}.welcome-logo{justify-content:center;align-items:center;gap:10px;margin-bottom:36px;text-decoration:none;display:flex}.welcome-logo-text{color:var(--text-primary,#0f172a);font-size:20px;font-weight:700}.welcome-card h1{color:var(--text-primary,#0f172a);margin-bottom:12px;font-size:28px;font-weight:700}.welcome-card--wide{max-width:640px}.welcome-intro-title{color:var(--text-primary,#0f172a);margin-bottom:8px;font-size:26px;font-weight:700}.welcome-intro-subtitle{color:var(--text-secondary,#64748b);margin-bottom:24px;font-size:14px;line-height:1.6}.welcome-features{text-align:left;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:28px;display:grid}.welcome-feature-card{background:var(--bg-page,#f8fafc);border:1px solid var(--border,#e2e8f0);border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.welcome-feature-icon{flex-shrink:0;margin-top:1px;font-size:20px;line-height:1}.welcome-feature-title{color:var(--text-primary,#1e2d4a);margin-bottom:2px;font-size:12.5px;font-weight:600}.welcome-feature-desc{color:var(--text-secondary,#3a4e72);margin:0;font-size:11.5px;line-height:1.5}@media (width<=560px){.welcome-features{grid-template-columns:1fr}.welcome-card{padding:36px 20px}}.welcome-btn{color:#fff;cursor:pointer;background:#3b82f6;border:none;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:100%;padding:13px 32px;font-size:15px;font-weight:600;transition:background .15s;display:inline-flex}.welcome-btn:hover:not(:disabled){background:#2563eb}.welcome-btn:disabled{opacity:.7;cursor:not-allowed}.welcome-spinner{border:2px solid #fff6;border-top-color:#fff;border-radius:50%;width:18px;height:18px;animation:.7s linear infinite welcome-spin;display:inline-block}@keyframes welcome-spin{to{transform:rotate(360deg)}}.welcome-error{color:#dc2626;text-align:left;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:center;gap:8px;margin-bottom:20px;padding:10px 14px;font-size:14px;display:flex}.changelog-menu{flex-shrink:0;position:relative}.changelog-dropdown{background:var(--sidebar-bg);border:1px solid var(--border-color);z-index:100;border-radius:8px;width:340px;max-height:420px;padding:10px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000029}.changelog-dropdown-title{color:var(--text-primary);padding:2px 4px 10px;font-size:13px;font-weight:700}.changelog-status{color:var(--text-muted);padding:8px 4px;font-size:13px}.changelog-error{color:#dc2626}.changelog-entry{border-top:1px solid var(--border-color);padding:8px 4px}.changelog-entry:first-of-type{border-top:none}.changelog-entry-header{align-items:baseline;gap:8px;display:flex}.changelog-entry-title{color:var(--text-primary);font-size:13.5px;font-weight:600}.changelog-entry-version{color:var(--accent);background:color-mix(in srgb, var(--bg-page) 78%, var(--accent) 22%);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600}.changelog-entry-date{color:var(--text-faint);margin-top:2px;font-size:11px}.changelog-entry-description{color:var(--text-secondary);white-space:pre-wrap;margin:6px 0 0;font-size:12.5px;line-height:1.5}.app-layout{background:var(--bg-page);flex-direction:column;height:100vh;display:flex;overflow:hidden}.read-only-banner{background:color-mix(in srgb, #dc2626 12%, var(--bg-page));border-bottom:1px solid color-mix(in srgb, #dc2626 30%, var(--border-color));color:var(--text-primary);text-align:center;flex-shrink:0;justify-content:center;align-items:center;gap:12px;padding:8px 20px;font-size:12.5px;display:flex}.read-only-banner a{color:var(--accent);font-weight:600}.read-only-banner-dismiss{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:2px;display:flex}.read-only-banner-dismiss:hover{color:var(--text-primary)}.main-content{background:var(--bg-card);flex:1;padding:28px;overflow-y:auto}@media (width<=768px){.main-content{padding:16px}}.access-dialog-hint{margin-bottom:16px}.access-user-list{max-height:260px}.table-list.tree-lines .folder-block,.table-list.tree-lines .table-list-item-wrap,.table-list.tree-lines .folder-row{position:relative}.table-list.tree-lines .folder-tables>.folder-block:not(:last-child):before,.table-list.tree-lines .folder-tables>.table-list-item-wrap:not(:last-child):before{content:"";background:var(--border-color);width:1px;position:absolute;top:0;bottom:0;left:-16px}.table-list.tree-lines .folder-tables>.folder-block:last-child:before,.table-list.tree-lines .folder-tables>.table-list-item-wrap:last-child:before{content:"";background:var(--border-color);width:1px;height:12px;position:absolute;top:0;left:-16px}.table-list.tree-lines .folder-tables>.folder-block>.folder-row:after,.table-list.tree-lines .folder-tables>.table-list-item-wrap:after{content:"";background:var(--border-color);width:16px;height:1px;position:absolute;top:50%;left:-16px}.table-detail-page{flex-direction:column;height:calc(100vh - 48px);display:flex}.table-grid-wrap{flex:1;min-height:0}.table-refresh-spinner{border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:12px;height:12px;animation:.7s linear infinite cell-saving-spin}.dashboard-panel{flex:1;min-height:0;padding-bottom:4px;overflow-y:auto}.dashboard-note{color:var(--text-faint);margin-bottom:14px;font-size:12.5px}.metric-card-grid{grid-template-columns:repeat(auto-fill,minmax(480px,1fr));gap:16px;display:grid}.metric-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;padding:16px 18px 18px}.metric-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.metric-card-header h3{color:var(--text-primary);margin:0;font-size:14px;font-weight:700}.metric-card-stats{gap:20px;display:flex}.metric-stat{flex-direction:column;align-items:flex-end;display:flex}.metric-stat-label{text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);font-size:10.5px;font-weight:700}.metric-stat-value{color:var(--text-primary);font-size:16px;font-weight:700}.metric-card-empty{color:var(--text-muted);text-align:center;padding:20px 0;font-size:13px}.metric-card-charts{flex-wrap:wrap;gap:16px;display:flex}.metric-chart{min-width:0}.metric-chart-bar{flex:3 260px}.metric-chart-pie{flex:2 220px}.metric-chart-title{text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);margin-bottom:6px;font-size:11px;font-weight:700}.metric-chart .MuiChartsAxis-tickLabel,.metric-chart .MuiChartsLegend-label{fill:var(--text-muted)!important}.metric-chart .MuiChartsAxis-line,.metric-chart .MuiChartsAxis-tick{stroke:var(--border-color)!important}.calendar-panel{flex-direction:column;flex:1;min-height:0;padding-bottom:4px;display:flex;overflow-y:auto}.calendar-setup-options{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.calendar-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.calendar-nav{align-items:center;gap:4px;display:flex}.calendar-nav-btn{border:1px solid var(--border-color);background:var(--bg-card);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.calendar-nav-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.calendar-month-label{text-align:center;min-width:150px;margin:0 6px;font-size:15px;font-weight:700}.calendar-today-btn{margin-left:8px;padding:5px 10px;font-size:12.5px}.calendar-column-pickers{align-items:center;gap:8px;display:flex}.calendar-column-select{border:1px solid var(--border-color);background:var(--bg-card);color:var(--text-secondary);border-radius:6px;padding:5px 8px;font-size:12.5px}.calendar-weekday-row{grid-template-columns:repeat(7,1fr);gap:6px;margin-bottom:6px;display:grid}.calendar-weekday{text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);text-align:center;padding-bottom:2px;font-size:11px;font-weight:700}.calendar-grid{flex:1;grid-template-columns:repeat(7,1fr);grid-auto-rows:minmax(84px,1fr);gap:6px;display:grid}.calendar-grid-loading{opacity:.6}.calendar-day{border:1px solid var(--border-color);background:var(--bg-card);border-radius:6px;flex-direction:column;gap:4px;min-width:0;padding:6px;display:flex}.calendar-day-outside{background:var(--bg-page);opacity:.55}.calendar-day-today{border-color:var(--accent)}.calendar-day-number{color:var(--text-secondary);font-size:12px;font-weight:600}.calendar-day-today .calendar-day-number{color:var(--accent)}.calendar-day-events{flex-direction:column;gap:3px;min-width:0;display:flex}.calendar-event-chip{text-align:left;background:color-mix(in srgb, var(--bg-page) 78%, var(--accent) 22%);width:100%;color:var(--text-primary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border:none;border-radius:4px;padding:2px 6px;font-size:11px;display:block;overflow:hidden}.calendar-event-chip:hover{filter:brightness(.95)}.calendar-event-more{color:var(--text-faint);cursor:pointer;text-align:left;background:0 0;border:none;padding:2px 6px;font-size:11px}.calendar-event-more:hover{color:var(--text-secondary)}.kanban-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.kanban-board{flex:1;gap:12px;min-height:0;padding-bottom:4px;display:flex;overflow-x:auto}.kanban-board-loading{opacity:.6}.kanban-column{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;flex:0 0 280px;width:280px;max-height:100%;padding:8px;display:flex}.kanban-column-drag-over{border-color:var(--accent);background:color-mix(in srgb, var(--bg-card) 85%, var(--accent) 15%)}.kanban-column-header{color:var(--text-primary);align-items:center;gap:6px;padding:4px 4px 8px;font-size:13px;font-weight:700;display:flex}.kanban-column-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.kanban-column-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.kanban-column-count{color:var(--text-faint);font-size:11px;font-weight:600}.kanban-column-body{flex-direction:column;flex:1;gap:6px;min-height:40px;display:flex;overflow-y:auto}.kanban-card{background:var(--bg-page);border:1px solid var(--border-color);border-left:3px solid var(--border-color);color:var(--text-primary);cursor:default;border-radius:6px;padding:8px 10px;font-size:12.5px}.kanban-card[draggable=true]{cursor:grab}.kanban-card:hover{border-color:var(--accent)}.kanban-card-dragging{opacity:.5}.kanban-add-card-btn{text-align:left;color:var(--text-faint);cursor:pointer;background:0 0;border:none;margin-top:8px;padding:6px 4px;font-size:12px}.kanban-add-card-btn:hover{color:var(--text-secondary)}.kanban-add-card-btn:disabled{opacity:.5;cursor:default}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:24px;display:flex}.page-header-left{align-items:center;gap:12px;display:flex}.page-title{letter-spacing:normal;color:var(--text-primary);margin:0;font-size:20px;font-weight:700}.page-subtitle{color:var(--text-muted);margin-top:2px;font-size:13px}.btn-primary{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;height:36px;padding:0 16px;font-size:13px;font-weight:600;transition:background .12s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-secondary{border:1px solid var(--border-color);background:var(--bg-card);height:36px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;border-radius:6px;flex-shrink:0;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:500;transition:background .12s,border-color .12s;display:inline-flex}.btn-secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--text-faint)}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{color:#dc2626;cursor:pointer;white-space:nowrap;background:#dc26260f;border:1px solid #dc26264d;border-radius:5px;align-items:center;gap:4px;height:30px;padding:0 10px;font-size:12px;font-weight:500;transition:background .12s;display:inline-flex}.btn-danger:hover:not(:disabled){background:#dc26261f}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-primary:focus-visible,.btn-secondary:focus-visible,.btn-danger:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.empty-state{text-align:center;color:var(--text-muted);padding:60px 24px}.empty-state-icon{color:var(--text-faint);justify-content:center;margin-bottom:16px;display:flex}.empty-state-icon svg{width:40px;height:40px}.empty-state h3{color:var(--text-secondary);margin:0 0 8px;font-size:16px;font-weight:600}.empty-state p{margin-bottom:20px;font-size:13px}.page-loading{text-align:center;color:var(--text-muted);justify-content:center;align-items:center;gap:10px;padding:60px 24px;font-size:14px;display:flex}.page-loading-spinner{border:2px solid var(--border-color);border-top-color:var(--accent);border-radius:50%;width:18px;height:18px;animation:.7s linear infinite cell-saving-spin}.page-error{color:#dc2626;background:#dc26260f;border:1px solid #dc262640;border-radius:6px;align-items:flex-start;gap:8px;margin-bottom:16px;padding:12px 14px;font-size:13px;display:flex}.dialog-columns-config{flex-direction:column;height:75vh;max-height:75vh;padding-left:18px;padding-right:18px;display:flex;overflow:hidden}.dialog-columns-config .empty-state{flex-direction:column;flex:1;justify-content:center;display:flex}.dialog-columns-config .btn-primary,.dialog-columns-config .btn-secondary{height:30px;padding:0 12px;font-size:12.5px}.column-config-panes{flex:1;gap:20px;min-height:0;display:flex}.column-config-list{border-right:1px solid var(--border-color);flex-direction:column;flex-shrink:0;gap:6px;width:340px;padding-right:12px;display:flex;overflow:hidden}.column-config-add-btn{flex-shrink:0;align-self:flex-start}.column-config-list-rows{flex-direction:column;flex:1;gap:1px;min-height:0;display:flex;overflow-y:auto}.column-list-row{cursor:pointer;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;padding:3px 6px;transition:opacity .15s,border-color .15s,background .15s;display:flex;position:relative}.column-list-row:hover{background:var(--bg-hover)}.column-list-row.active{background:var(--bg-active);border-color:var(--accent)}.column-list-row-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.column-config-detail{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.column-config-form{flex-direction:column;height:100%;min-height:0;display:flex}.column-config-form form{flex-direction:column;flex:1;min-height:0;display:flex}.column-config-form .dialog-title{flex-shrink:0;margin-bottom:16px;font-size:15px}.column-form-fields{flex:1;padding-right:4px;overflow-y:auto}.column-form-actions{flex-shrink:0;align-items:center}.unsaved-changes-hint{color:#ea580c;margin-right:auto;font-size:12px;font-weight:600}.column-config-empty{height:100%;color:var(--text-faint);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:24px;display:flex}.column-item-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}.column-item-actions .MuiIconButton-root{color:var(--text-muted)}.column-item-actions .MuiIconButton-root:hover{color:var(--text-primary)}.column-item-delete-btn{color:#dc2626!important}.column-item-delete-btn:hover{opacity:.75}.column-item-actions .MuiIconButton-root.Mui-disabled{opacity:.5;color:var(--text-faint)!important}.column-item-dragging{opacity:.4}.column-item-drop-above:before,.column-item-drop-below:after{content:"";background:var(--accent);pointer-events:none;border-radius:1px;height:2px;position:absolute;left:4px;right:4px}.column-item-drop-above:before{top:-2px}.column-item-drop-below:after{bottom:-2px}.column-item-drag-handle{width:18px;color:var(--text-faint);cursor:grab;justify-content:center;align-items:center;display:flex}.column-item-drag-handle:active{cursor:grabbing}.column-list-row-pos{width:16px;color:var(--text-faint);text-align:right;flex-shrink:0;font-size:11px;font-weight:600}.column-list-row-color-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.column-item-label{color:var(--text-primary);font-size:14px;font-weight:600}.column-type-badge{width:22px;height:22px;color:var(--accent);background:#1565c014;border:1px solid #1565c033;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.column-type-badge svg{font-size:13px}.column-type-menu-item{align-items:center;gap:10px;display:flex}.column-type-menu-item svg{color:var(--text-muted);font-size:18px}.column-type-select .MuiSelect-select{height:38px;color:var(--text-primary);align-items:center;font-size:13.5px;display:flex;min-height:0!important;padding:0 32px 0 10px!important}.column-type-select .MuiOutlinedInput-notchedOutline{border:1px solid var(--input-border)}.column-type-select{background:var(--bg-card);border-radius:6px}.column-type-select .column-type-menu-item svg{color:var(--accent)}.required-badge{color:#ea580c;background:#ea580c14;border:1px solid #ea580c33;border-radius:10px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.url-cell-link{height:100%;color:var(--accent);text-overflow:ellipsis;white-space:nowrap;align-items:center;max-width:100%;text-decoration:none;display:flex;overflow:hidden}.url-cell-link:hover{text-decoration:underline}.cell-multiline-text{white-space:pre-wrap;word-break:break-word;max-width:100%}.cell-multivalue-list{flex-direction:column;gap:2px;width:100%;padding:4px 0;display:flex}.cell-multivalue-item{word-break:break-word}.multivalue-edit-anchor{align-items:center;width:100%;height:100%;padding:0 12px;display:flex}.multivalue-edit-summary{color:var(--text-secondary);font-size:13px}.multivalue-popover{flex-direction:column;gap:8px;min-width:220px;max-width:320px;padding:10px;display:flex}.multivalue-popover-list{flex-direction:column;gap:4px;max-height:200px;display:flex;overflow-y:auto}.multivalue-popover-empty{color:var(--text-muted);padding:4px 2px;font-size:13px}.multivalue-popover-item{background:var(--bg-page);word-break:break-word;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;font-size:13px;display:flex}.multivalue-popover-item button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:15px;line-height:1}.multivalue-popover-item button:hover{color:var(--text-primary)}.multivalue-popover-add{gap:6px;display:flex}.multivalue-popover-add input{border:1px solid var(--border-color);background:var(--bg-card);min-width:0;color:var(--text-primary);border-radius:6px;flex:1;padding:6px 8px;font-size:13px}.row-meta-detail{background:var(--bg-card);flex-direction:column;gap:8px;min-width:220px;padding:12px 16px;display:flex}.row-meta-detail-row{color:var(--text-primary);justify-content:space-between;gap:16px;font-size:13px;display:flex}.row-meta-detail-label{color:var(--text-faint);font-weight:600}.row-select-cell{align-items:center;gap:2px;width:100%;display:flex}.row-color-menu{background:var(--bg-card);flex-direction:column;gap:10px;padding:12px;display:flex}.row-color-swatch-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.row-color-swatch{cursor:pointer;border:2px solid #0000;border-radius:50%;width:24px;height:24px;padding:0}.row-color-swatch:hover{border-color:var(--text-faint)}.row-color-swatch.selected{border-color:var(--text-primary)}.row-color-clear{border:1px solid var(--border-color);background:var(--bg-page);height:30px;color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:0 12px;font-size:12.5px;font-weight:500}.row-color-clear:hover{background:var(--bg-hover)}.infosheet-grid .grid-row-action-info{color:var(--text-faint)}.infosheet-grid .grid-row-action-info:hover{background:var(--bg-hover);color:var(--accent)}.infosheet-grid .grid-row-action-delete{color:var(--text-faint)}.infosheet-grid .grid-row-action-delete:hover{color:#dc2626;background:#dc26261f}.infosheet-grid .MuiDataGrid-cell.cell-saving{position:relative}.infosheet-grid .MuiDataGrid-cell.cell-saving:after{content:"";border:2px solid var(--border-color);border-top-color:var(--accent);pointer-events:none;border-radius:50%;width:13px;height:13px;margin-top:-7px;animation:.7s linear infinite cell-saving-spin;position:absolute;top:50%;right:8px}@keyframes cell-saving-spin{to{transform:rotate(360deg)}}.column-header-rename-input{border:1px solid var(--accent);background:var(--bg-card);border-radius:3px;outline:none;width:100%;min-width:0;padding:1px 4px}.infosheet-grid .MuiDataGrid-cell.merge-range-selected{background:color-mix(in srgb, var(--accent) 14%, transparent);outline:1px solid var(--accent);outline-offset:-1px}.infosheet-grid .MuiDataGrid-cell.merged-cell{background:color-mix(in srgb, var(--accent) 5%, transparent);align-items:center}.infosheet-grid .MuiDataGrid-cell.merged-cell--column{text-align:center;justify-content:center}.merge-action-bar{border:1px solid var(--border-color);background:var(--bg-hover);border-radius:8px;align-items:center;gap:10px;margin-bottom:12px;padding:8px 12px;font-size:13px;display:flex}.merge-action-bar .btn-primary,.merge-action-bar .btn-secondary{height:28px;padding:0 10px;font-size:12.5px}.merge-sort-note{background:var(--bg-hover);color:var(--text-faint);border-radius:8px;margin-bottom:12px;padding:6px 12px;font-size:12.5px}.dropdown-pill{white-space:nowrap;text-overflow:ellipsis;border-radius:3px;align-items:center;max-width:100%;height:20px;padding:0 7px;font-size:11.5px;font-weight:600;line-height:20px;display:inline-flex;overflow:hidden}.cell-empty-dash{color:var(--text-faint)}.dropdown-pill-group,.relation-chip-group{flex-wrap:wrap;align-items:center;gap:4px;height:100%;display:flex}.relation-chip{white-space:nowrap;text-overflow:ellipsis;max-width:100%;color:var(--accent);cursor:pointer;background:#1565c014;border:1px solid #1565c033;border-radius:10px;align-items:center;padding:2px 10px;font-size:12px;font-weight:600;line-height:1.7;display:inline-flex;overflow:hidden}.relation-chip:hover{background:#1565c029;text-decoration:underline}.relation-chip-more{color:var(--text-muted);white-space:nowrap;font-size:12px;font-weight:600}.relation-chip-value{cursor:default}.relation-chip-value:hover{background:#1565c014;text-decoration:none}.dropdown-option-editor{flex-direction:column;gap:8px;display:flex}.dropdown-option-row{align-items:center;gap:8px;display:flex}.dropdown-option-color{border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:6px;flex-shrink:0;width:32px;height:32px;padding:0}.dropdown-option-input{flex:1;min-width:0}.dropdown-option-remove{flex-shrink:0;padding:4px 10px}.data-table-wrap{border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.data-table{border-collapse:collapse;width:100%;font-size:13.5px}.data-table th{background:var(--bg-page);text-align:left;letter-spacing:.4px;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border-color);white-space:nowrap;padding:10px 14px;font-size:11.5px;font-weight:700}.data-table td{border-bottom:1px solid var(--border-color);color:var(--text-primary);vertical-align:middle;padding:10px 14px}.data-table tr:last-child td{border-bottom:none}.data-table tr:hover td{background:var(--bg-hover)}.data-table .td-actions{text-align:right;width:60px}.data-table .td-empty{color:var(--text-muted);font-style:italic}.pagination{color:var(--text-muted);justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;font-size:13px;display:flex}.pagination-btn{border:1px solid var(--border-color);background:var(--bg-card);height:32px;color:var(--text-secondary);cursor:pointer;border-radius:5px;padding:0 12px;font-size:13px;transition:background .12s}.pagination-btn:hover:not(:disabled){background:var(--bg-hover)}.pagination-btn:disabled{opacity:.45;cursor:default}.dialog-overlay{z-index:200;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{background:var(--bg-card);border-radius:12px;width:100%;max-width:480px;max-height:80vh;padding:28px 28px 24px;overflow-y:auto;box-shadow:0 20px 60px #0003}.dialog-wide{max-width:920px}.dialog-title{color:var(--text-primary);margin:0 0 20px;font-size:17px;font-weight:700}.dialog-header-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.dialog-header-row .dialog-title{margin-bottom:0}.dialog-header-actions{align-items:center;gap:8px;display:flex}.dialog-close-btn{color:var(--text-muted)}.dialog-close-btn:hover{color:var(--text-primary)}.dialog-actions{border-top:1px solid var(--border-color);justify-content:flex-end;gap:10px;margin-top:24px;padding-top:16px;display:flex}.form-field{flex-direction:column;gap:5px;margin-bottom:16px;display:flex}.form-field label{color:var(--text-secondary);font-size:13px;font-weight:500}.form-field input[type=text],.form-field input[type=number],.form-field select,.form-field textarea{border:1px solid var(--input-border);height:38px;color:var(--text-primary);background:var(--bg-card);border-radius:6px;outline:none;width:100%;padding:0 10px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.form-field textarea{resize:vertical;height:auto;min-height:72px;padding:8px 10px}.form-field select{appearance:none;cursor:pointer;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='%237e8d9f' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1565c01f}.form-field-hint{color:var(--text-faint);font-size:11.5px}.form-field-checkbox-group{flex-wrap:wrap;gap:6px 14px;display:flex}.form-field-checkbox-option{color:var(--text-primary);cursor:pointer;align-items:center;gap:5px;font-size:13px;font-weight:400;display:flex}.file-input-row{align-items:center;gap:10px;display:flex}.file-input-button{flex-shrink:0}.file-input-button.disabled{opacity:.6;pointer-events:none}.file-input-name{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.file-input-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.form-field-error{color:#dc2626;align-items:center;gap:4px;margin-top:4px;font-size:11.5px;display:flex}.form-field-error svg{flex-shrink:0}.formula-input-wrap{position:relative}.formula-examples{background:var(--bg-page);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:5px;margin:8px 0 0;padding:10px 12px;list-style:none;display:flex}.formula-examples li{align-items:baseline;gap:10px;font-size:12px;display:flex}.formula-example-op{color:var(--text-faint);flex:0 0 68px;font-weight:600}.formula-examples code{color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.formula-suggestions{z-index:20;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;max-height:220px;margin:4px 0 0;padding:4px;list-style:none;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 20px #00000026}.formula-suggestion{color:var(--text-primary);cursor:pointer;border-radius:5px;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.formula-suggestion:hover,.formula-suggestion.active{background:var(--bg-hover)}.formula-suggestion-type{text-transform:uppercase;letter-spacing:.4px;color:var(--text-faint);font-size:10.5px;font-weight:600}.form-checkbox-row{align-items:center;gap:8px;margin-bottom:16px;display:flex}.form-checkbox-row label{color:var(--text-secondary);font-size:13px;font-weight:500}.column-form-color-row{align-items:center;gap:10px;display:flex}.column-form-color-row input[type=color]{border:1px solid var(--border-color);cursor:pointer;background:0 0;border-radius:6px;width:40px;height:32px;padding:2px}.form-section-divider{background:var(--border-color);height:1px;margin:16px 0}.template-tabs{border-bottom:1px solid var(--border-color);gap:4px;margin-bottom:10px;display:flex}.template-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 12px;font-size:13px;font-weight:600;transition:color .12s,border-color .12s}.template-tab:hover{color:var(--text-primary)}.template-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.template-tab-empty-hint{border:1px dashed var(--border-color);color:var(--text-muted);border-radius:8px;grid-column:1/-1;padding:16px 14px;font-size:12.5px;line-height:1.4}.template-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.template-card{text-align:left;border:1px solid var(--border-color);background:var(--bg-page);cursor:pointer;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;transition:border-color .12s,background .12s;display:flex}.template-card:hover{border-color:var(--text-faint)}.template-card.selected{border-color:var(--accent);background:#1565c00f}.template-card-icon{font-size:18px}.template-card-name{color:var(--text-primary);font-size:13.5px;font-weight:600}.template-card-desc{color:var(--text-muted);font-size:12px;line-height:1.4}.template-card-wrapper{position:relative}.template-card-wrapper .template-card{width:100%}.template-card-delete{background:var(--bg-card);width:20px;height:20px;color:var(--text-faint);cursor:pointer;opacity:0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:opacity .12s,background .12s,color .12s;display:flex;position:absolute;top:6px;right:6px}.template-card-wrapper:hover .template-card-delete{opacity:1}.template-card-delete:hover:not(:disabled){color:#dc2626;background:#dc26261f}.template-card-delete:disabled{cursor:not-allowed;opacity:.5}.dynamic-form{flex-direction:column;gap:14px;display:flex}.dyn-field{flex-direction:column;gap:5px;display:flex}.dyn-field-label{color:var(--text-secondary);font-size:13px;font-weight:500}.dyn-required{color:#dc2626;font-weight:700}.dyn-field-input{border:1px solid var(--input-border);height:38px;color:var(--text-primary);background:var(--bg-card);border-radius:6px;outline:none;width:100%;padding:0 10px;font-size:13.5px;transition:border-color .15s,box-shadow .15s}.dyn-field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #1565c01f}.dyn-field-input--error{border-color:#dc2626}.dyn-field-error{color:#dc2626;font-size:11.5px}.dyn-field--checkbox{flex-direction:row;align-items:center;gap:0}.dyn-checkbox-label{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13.5px;display:flex}.dyn-checkbox-input{cursor:pointer;width:16px;height:16px;accent-color:var(--accent)}.dyn-multi-options{border:1px solid var(--input-border);background:var(--bg-card);border-radius:6px;flex-direction:column;gap:6px;max-height:160px;padding:8px 10px;display:flex;overflow-y:auto}.dyn-multi-options.dyn-field-input--error{border-color:#dc2626}.dyn-multi-option{color:var(--text-primary);cursor:pointer;align-items:center;gap:8px;font-size:13.5px;display:flex}.dyn-multi-option input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:15px;height:15px}.options-hint{color:var(--text-faint);margin-top:2px;font-size:11.5px}.dyn-field select.dyn-field-input{appearance:none;cursor:pointer;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='%237e8d9f' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}.import-mapping-list{flex-direction:column;gap:10px;max-height:420px;padding-right:2px;display:flex;overflow-y:auto}.import-mapping-row{background:var(--bg-page);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:8px;padding:12px 14px;display:flex}.import-mapping-header{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.import-mapping-col-name{color:var(--text-primary);font-size:13.5px;font-weight:600}.import-mapping-sample{color:var(--text-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.import-mapping-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.import-mapping-controls select,.import-mapping-controls input[type=text]{border:1px solid var(--input-border);height:34px;color:var(--text-primary);background:var(--bg-card);border-radius:6px;outline:none;padding:0 8px;font-size:12.5px}.import-mapping-controls select{appearance:none;cursor:pointer;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='%237e8d9f' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:26px}.import-mapping-controls input[type=text]{flex:1;width:130px;min-width:100px}.import-required-toggle{color:var(--text-secondary);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:flex}.import-required-toggle input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:14px;height:14px}.import-mapping-error{color:#dc2626}.import-result-summary{flex-wrap:wrap;gap:20px;margin-bottom:16px;display:flex}.import-result-stat{color:var(--text-secondary);font-size:13px}.import-result-stat strong{color:var(--text-primary);margin-right:4px;font-size:18px}.import-result-stat--error strong{color:#dc2626}.import-error-list{background:var(--bg-page);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:6px;max-height:220px;padding:10px 12px;display:flex;overflow-y:auto}.import-error-item{color:var(--text-muted);font-size:12px}.import-progress{flex-direction:column;align-items:center;gap:12px;display:flex}.import-progress-bar{background:var(--bg-page);border:1px solid var(--border-color);border-radius:4px;width:100%;max-width:320px;height:8px;overflow:hidden}.import-progress-fill{background:var(--accent);border-radius:4px;height:100%;transition:width .15s}.import-progress-fill.indeterminate{animation:1.1s ease-in-out infinite import-progress-indeterminate;width:40%!important}@keyframes import-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.freeze-menu{flex-shrink:0;position:relative}.freeze-menu-dropdown{z-index:150;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:1px;min-width:280px;max-height:320px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000029}.freeze-menu-dropdown>*{flex-shrink:0}.column-props-row{color:var(--text-secondary);border-radius:5px;grid-template-columns:1fr 52px 52px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:grid}.column-props-row:not(.column-props-header):hover{background:var(--bg-hover);color:var(--text-primary)}.column-props-header{letter-spacing:.4px;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border-color);margin-bottom:3px;padding-bottom:8px;font-size:11px;font-weight:700}.column-props-header span:not(:first-child),.column-props-row:not(.column-props-header) input{justify-self:center}.column-props-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.column-props-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer;flex-shrink:0;width:14px;height:14px}.column-props-row input[type=checkbox]:disabled{opacity:.35;cursor:not-allowed}.freeze-menu-clear{text-align:left;border:none;border-bottom:1px solid var(--border-color);color:var(--accent);cursor:pointer;background:0 0;border-radius:5px;margin-bottom:3px;padding:7px 10px;font-size:12px;font-weight:600}.freeze-menu-clear:hover{background:var(--bg-hover)}.columns-menu-configure{text-align:left;border:none;border-bottom:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;background:0 0;border-radius:5px;align-items:center;gap:6px;margin-bottom:3px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.columns-menu-configure svg{flex-shrink:0}.columns-menu-configure:hover{background:var(--bg-hover)}.filter-bar{flex-shrink:0}.filter-bar-popover{flex-direction:column;gap:8px;min-width:420px;padding:12px;display:flex}.filter-bar-empty{color:var(--text-faint);margin:0;font-size:13px}.filter-bar-row{align-items:center;gap:8px;display:flex}.filter-bar-row>*{flex:1;min-width:0}.filter-bar-actions{border-top:1px solid var(--border-color);align-items:center;gap:8px;margin-top:4px;padding-top:8px;display:flex}.filter-bar-actions-right{gap:8px;margin-left:auto;display:flex}.add-row-menu{flex-shrink:0;position:relative}.add-row-split-btn{display:flex}.add-row-split-btn-main{border-top-right-radius:0;border-bottom-right-radius:0}.add-row-split-btn-toggle{border-left:1px solid #ffffff59;border-top-left-radius:0;border-bottom-left-radius:0;padding:0 6px}.add-row-menu-dropdown{min-width:220px;max-height:none;overflow:visible}.add-row-bulk-row{align-items:center;gap:6px;padding:4px 6px 6px;display:flex}.add-row-bulk-input{border:1px solid var(--border-color);background:var(--bg-page);width:64px;color:var(--text-primary);border-radius:6px;padding:5px 8px;font-size:13px}.view-menu{flex-shrink:0;position:relative}.view-menu-dropdown{z-index:150;background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:1px;min-width:220px;max-height:320px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px #00000029}.view-menu-dropdown>*{flex-shrink:0}.view-menu-item-row{border-radius:5px;align-items:center;display:flex}.view-menu-item-row:hover{background:var(--bg-hover)}.view-menu-item{text-align:left;color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;border-radius:5px;align-items:center;gap:7px;padding:7px 10px;font-size:13px;display:flex;overflow:hidden}.view-menu-item-icon{flex-shrink:0}.view-menu-item-row>.view-menu-item{flex:1;min-width:0}.view-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.view-menu-item.active{color:var(--accent);font-weight:600}.view-menu-item-delete{opacity:.7;cursor:pointer;justify-content:center;align-items:center;padding:0 10px;display:inline-flex}.view-menu-item-delete:hover{opacity:1}.view-menu-action{text-align:left;border:none;border-top:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:0;margin-top:3px;padding:9px 10px 7px;font-size:12.5px;font-weight:600}.view-menu-action:hover:not(:disabled){background:var(--bg-hover)}.view-menu-action:disabled{opacity:.6;cursor:not-allowed}.view-menu-save{color:var(--accent)}.view-menu-section-label{letter-spacing:.4px;text-transform:uppercase;color:var(--text-faint);padding:6px 10px 2px;font-size:11px;font-weight:700}.print-dialog-hint{color:var(--text-secondary);margin:-8px 0 14px;font-size:12.5px}.print-column-row{color:var(--text-secondary);cursor:pointer;border-radius:5px;grid-template-columns:1fr 60px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:grid}.print-column-row:hover{background:var(--bg-hover);color:var(--text-primary)}.print-column-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer;justify-self:center;width:14px;height:14px}.print-column-header{letter-spacing:.4px;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border-color);cursor:default;margin-bottom:3px;padding-bottom:8px;font-size:11px;font-weight:700}.print-column-header:hover{color:var(--text-faint);background:0 0}.print-select-all-btn{color:var(--accent);letter-spacing:.4px;text-transform:uppercase;cursor:pointer;background:0 0;border:none;justify-self:end;padding:0;font-size:11px;font-weight:700}.print-column-list{max-height:320px;margin-bottom:4px;overflow-y:auto}.print-color-toggles{flex-direction:column;gap:6px;margin-top:14px;display:flex}.print-toggle-row{color:var(--text-secondary);cursor:pointer;align-items:center;gap:8px;font-size:13px;display:flex}.print-toggle-row input[type=checkbox]{accent-color:var(--accent);cursor:pointer;width:14px;height:14px}.print-rows-per-page{margin-top:16px}.print-rows-per-page input{max-width:120px}.print-only{display:none}@media print{body *{visibility:hidden}.print-only,.print-only *{visibility:visible}.print-only{width:100%;display:block;position:absolute;inset:0}@page{size:landscape;margin:10mm}}.print-page{page-break-after:always;break-after:page}.print-page:last-child{page-break-after:auto;break-after:auto}.print-page-header{margin-bottom:10px}.print-page-header h1{color:#111;margin:0 0 3px;font-size:16px}.print-page-meta{color:#555;font-size:11px}.print-table{border-collapse:collapse;color:#111;width:100%;font-size:11px}.print-table th,.print-table td{text-align:left;word-break:break-word;vertical-align:top;border:1px solid #999;padding:4px 7px}.print-table th{background:#eee;font-weight:700}.print-page-footer{color:#666;text-align:right;margin-top:6px;font-size:10px}.view-menu-divider{background:var(--border-color);height:1px;margin:4px 2px}.users-table-wrap{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.users-table{border-collapse:collapse;width:100%;font-size:13.5px}.users-table th{text-align:left;background:var(--bg-page);color:var(--text-secondary);border-bottom:1px solid var(--border-strong);border-right:1px solid var(--border-color);padding:8px 16px;font-size:11.5px;font-weight:600}.users-table th:last-child{border-right:none}.users-table td{height:36px;color:var(--text-primary);border-bottom:1px solid var(--border-color);border-right:1px solid var(--border-color);vertical-align:middle;padding:0 16px}.users-table td:last-child{border-right:none}.users-table tr:last-child td{border-bottom:none}.role-select{border:none;border-radius:4px;height:24px;padding:0 8px;font-size:11.5px;font-weight:600}.role-select:disabled{opacity:.6;cursor:not-allowed}.role-select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.role-badge-owner{background:var(--tag2-bg);color:var(--tag2-fg)}.role-badge-admin{background:var(--tag1-bg);color:var(--tag1-fg)}.role-badge-editor{background:var(--tag3-bg);color:var(--tag3-fg)}.role-badge-viewer{background:var(--bg-page);color:var(--text-secondary)}.subscription-status-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;align-items:flex-start;gap:16px;margin-bottom:18px;padding:20px 22px;display:flex}.subscription-status-card-icon{background:color-mix(in srgb, var(--accent) 14%, transparent);width:40px;height:40px;color:var(--accent);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.subscription-status-card-title{color:var(--text-primary);align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.subscription-status-card-detail{color:var(--text-secondary);max-width:640px;margin:6px 0 0;font-size:13px}.subscription-limits-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px;display:grid}.subscription-limit-tile{background:var(--bg-card);border:1px solid var(--border-color);border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.subscription-limit-label{letter-spacing:.4px;text-transform:uppercase;color:var(--text-faint);font-size:11px;font-weight:700}.subscription-limit-value{color:var(--text-primary);font-size:16px;font-weight:700}.subscription-activate-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:10px;max-width:420px;padding:20px 22px}.subscription-activate-card h3{color:var(--text-primary);margin:0 0 4px;font-size:14px;font-weight:700}.subscription-activate-form{margin-top:14px}
