@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";/*! 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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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}}}@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-amber-600:oklch(66.6% .179 58.318);--color-gray-50:oklch(98.5% .002 247.839);--color-gray-100:oklch(96.7% .003 264.542);--color-gray-400:oklch(70.7% .022 261.325);--color-gray-500:oklch(55.1% .027 264.364);--color-gray-600:oklch(44.6% .03 256.802);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--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-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--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;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1)}}@layer base,components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.top-1\/2{top:50%}.top-4{top:calc(var(--spacing) * 4)}.right-2{right:calc(var(--spacing) * 2)}.right-4{right:calc(var(--spacing) * 4)}.bottom-4{bottom:calc(var(--spacing) * 4)}.left-1\/2{left:50%}.z-10{z-index:10}.z-50{z-index:50}.z-\[100\]{z-index:100}.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-3{margin-inline:calc(var(--spacing) * 3)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mr-1{margin-right:var(--spacing)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-1{margin-bottom:var(--spacing)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.ml-1{margin-left:var(--spacing)}.ml-2{margin-left:calc(var(--spacing) * 2)}.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}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-3{height:calc(var(--spacing) * 3)}.h-4{height:calc(var(--spacing) * 4)}.h-5{height:calc(var(--spacing) * 5)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-12{height:calc(var(--spacing) * 12)}.h-16{height:calc(var(--spacing) * 16)}.h-20{height:calc(var(--spacing) * 20)}.h-auto{height:auto}.h-full{height:100%}.max-h-60{max-height:calc(var(--spacing) * 60)}.max-h-\[120px\]{max-height:120px}.min-h-\[40px\]{min-height:40px}.min-h-\[60px\]{min-height:60px}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-2{width:calc(var(--spacing) * 2)}.w-4{width:calc(var(--spacing) * 4)}.w-7{width:calc(var(--spacing) * 7)}.w-10{width:calc(var(--spacing) * 10)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-24{width:calc(var(--spacing) * 24)}.w-32{width:calc(var(--spacing) * 32)}.w-48{width:calc(var(--spacing) * 48)}.w-80{width:calc(var(--spacing) * 80)}.w-full{width:100%}.max-w-\[70\%\]{max-width:70%}.max-w-\[120px\]{max-width:120px}.max-w-full{max-width:100%}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-none{max-width:none}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.flex-1{flex:1}.flex-shrink{flex-shrink:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--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-spin{animation:var(--animate-spin)}.cursor-not-allowed{cursor:not-allowed}.cursor-pointer{cursor:pointer}.resize{resize:both}.resize-none{resize:none}.list-inside{list-style-position:inside}.list-decimal{list-style-type:decimal}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.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-3{gap:calc(var(--spacing) * 3)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(var(--spacing) * var(--tw-space-y-reverse));margin-block-end:calc(var(--spacing) * 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(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-\[var\(--color-border\)\]>:not(:last-child)){border-color:var(--color-border)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-\[12px_12px_0_12px\]{border-radius:12px 12px 0}.rounded-\[12px_12px_12px_0\]{border-radius:12px 12px 12px 0}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.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-dashed{--tw-border-style:dashed;border-style:dashed}.border-\[var\(--color-border\)\]{border-color:var(--color-border)}.border-\[var\(--color-primary\)\]{border-color:var(--color-primary)}.border-white\/30{border-color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.border-white\/30{border-color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.border-t-white{border-top-color:var(--color-white)}.bg-\[var\(--color-accent\)\]{background-color:var(--color-accent)}.bg-\[var\(--color-accent-light\)\]{background-color:var(--color-accent-light)}.bg-\[var\(--color-bg\)\]{background-color:var(--color-bg)}.bg-\[var\(--color-border\)\]{background-color:var(--color-border)}.bg-\[var\(--color-error\)\]{background-color:var(--color-error)}.bg-\[var\(--color-info-bg\)\]{background-color:var(--color-info-bg)}.bg-\[var\(--color-muted\)\]{background-color:var(--color-muted)}.bg-\[var\(--color-skeleton\)\]{background-color:var(--color-skeleton)}.bg-\[var\(--color-success\)\]{background-color:var(--color-success)}.bg-\[var\(--color-surface\)\]{background-color:var(--color-surface)}.bg-\[var\(--color-warning\)\]{background-color:var(--color-warning)}.bg-\[var\(--color-warning-bg\,\#fff7e6\)\]{background-color:var(--color-warning-bg,#fff7e6)}.bg-black\/30{background-color:#0000004d}@supports (color:color-mix(in lab,red,red)){.bg-black\/30{background-color:color-mix(in oklab,var(--color-black) 30%,transparent)}}.bg-gray-100{background-color:var(--color-gray-100)}.bg-white\/15{background-color:#ffffff26}@supports (color:color-mix(in lab,red,red)){.bg-white\/15{background-color:color-mix(in oklab,var(--color-white) 15%,transparent)}}.bg-white\/20{background-color:#fff3}@supports (color:color-mix(in lab,red,red)){.bg-white\/20{background-color:color-mix(in oklab,var(--color-white) 20%,transparent)}}.object-cover{object-fit:cover}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.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-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.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)}.py-12{padding-block:calc(var(--spacing) * 12)}.pt-2{padding-top:calc(var(--spacing) * 2)}.pt-3{padding-top:calc(var(--spacing) * 3)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--color-accent\)\]{color:var(--color-accent)}.text-\[var\(--color-body\)\]{color:var(--color-body)}.text-\[var\(--color-danger\)\]{color:var(--color-danger)}.text-\[var\(--color-error\)\]{color:var(--color-error)}.text-\[var\(--color-muted\)\]{color:var(--color-muted)}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-success\)\]{color:var(--color-success)}.text-\[var\(--color-title\)\]{color:var(--color-title)}.text-\[var\(--color-warning\)\]{color:var(--color-warning)}.text-\[var\(--color-warning\,\#faad14\)\]{color:var(--color-warning,#faad14)}.text-amber-600{color:var(--color-amber-600)}.text-gray-400{color:var(--color-gray-400)}.text-gray-500{color:var(--color-gray-500)}.text-gray-600{color:var(--color-gray-600)}.text-white{color:var(--color-white)}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.underline{text-decoration-line:underline}.opacity-50{opacity:.5}.opacity-70{opacity:.7}.shadow{--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-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-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)}.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-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-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.placeholder\:text-\[var\(--color-muted\)\]::placeholder{color:var(--color-muted)}@media (hover:hover){.hover\:bg-\[var\(--color-accent-light\)\]:hover{background-color:var(--color-accent-light)}.hover\:bg-gray-50:hover{background-color:var(--color-gray-50)}.hover\:bg-gray-100:hover{background-color:var(--color-gray-100)}.hover\:bg-white\/25:hover{background-color:#ffffff40}@supports (color:color-mix(in lab,red,red)){.hover\:bg-white\/25:hover{background-color:color-mix(in oklab,var(--color-white) 25%,transparent)}}.hover\:text-\[var\(--color-accent\)\]:hover{color:var(--color-accent)}.hover\:text-\[var\(--color-title\)\]:hover{color:var(--color-title)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-90:hover{opacity:.9}.hover\:shadow-sm: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)}}.focus\:border-\[var\(--color-accent\)\]:focus{border-color:var(--color-accent)}.focus\:ring-1:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\:ring-\[var\(--color-accent\)\]:focus{--tw-ring-color:var(--color-accent)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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}@layer base{*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-page)}body{min-height:100dvh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,svg{display:block;max-width:100%}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}ul,ol{list-style:none}table{border-collapse:collapse}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:var(--leading-tight);overflow-wrap:break-word}#app{min-height:100dvh}}:root{--color-brand-50: #EEF2FF;--color-brand-100: #E0E7FF;--color-brand-200: #C7D2FE;--color-brand-300: #A5B4FC;--color-brand-400: #818CF8;--color-brand-500: #6366F1;--color-brand-600: #4F46E5;--color-brand-700: #4338CA;--color-brand-800: #3730A3;--color-brand-900: #312E81;--color-accent: var(--color-brand-500);--color-accent-hover: var(--color-brand-600);--color-accent-light: rgba(99, 102, 241, .08);--color-success: #10b981;--color-success-light: #D1FAE5;--color-success-bg: #ECFDF5;--color-warning: #f59e0b;--color-warning-light: #FEF3C7;--color-warning-bg: #FFFBEB;--color-error: #ef4444;--color-error-light: #FEE2E2;--color-error-bg: #FEF2F2;--color-info: #3b82f6;--color-info-light: #DBEAFE;--color-info-bg: #EFF6FF;--slate-50: #F8FAFC;--slate-100: #F1F5F9;--slate-150: #E9EEF3;--slate-200: #E2E8F0;--slate-300: #CBD5E1;--slate-400: #94A3B8;--slate-500: #64748B;--slate-600: #475569;--slate-700: #334155;--slate-800: #1E293B;--slate-900: #0F172A;--color-bg: var(--slate-50);--color-surface: #ffffff;--color-border: rgba(226, 232, 240, .5);--color-border-light: rgba(226, 232, 240, .3);--color-title: var(--slate-900);--color-body: var(--slate-600);--color-muted: var(--slate-400);--color-disabled: var(--slate-300);--bg-page: var(--color-bg);--bg-card: var(--color-surface);--bg-card-hover: var(--slate-50);--bg-sidebar: #ffffff;--bg-sidebar-hover: var(--slate-100);--bg-sidebar-active: var(--color-brand-50);--bg-sidebar-active-border: var(--color-brand-500);--bg-topbar: #ffffff;--bg-overlay: rgba(15, 23, 42, .5);--bg-input: #ffffff;--bg-input-disabled: var(--slate-100);--bg-code: var(--slate-100);--text-primary: var(--color-title);--text-secondary: var(--slate-500);--text-tertiary: var(--color-muted);--text-inverse: #ffffff;--text-link: var(--color-brand-600);--text-link-hover: var(--color-brand-700);--text-on-brand: #ffffff;--border-default: var(--slate-200);--border-hover: var(--slate-300);--border-focus: var(--color-brand-500);--border-subtle: var(--slate-100);--font-display: "Geist", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-body: "Geist", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;--font-mono: "Geist Mono", "JetBrains Mono", "SF Mono", "Fira Code", monospace;--font-sans: var(--font-body);--font-tabular: var(--font-mono);--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--space-page: 1rem;--space-block: .75rem;--space-cell: .5rem;--space-item: .625rem;--space-0: 0px;--space-1: 4px;--space-1\.5: 6px;--space-2: 8px;--space-2\.5: 10px;--space-3: 12px;--space-3\.5: 14px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-9: 36px;--space-10: 40px;--space-12: 48px;--space-14: 56px;--space-16: 64px;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-3xl: 2.5rem;--radius-full: 9999px;--shadow-card: 0 20px 40px -15px rgba(0, 0, 0, .05);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .03);--shadow-md: 0 4px 6px rgba(0, 0, 0, .04), 0 10px 15px rgba(0, 0, 0, .03);--shadow-accent: 0 4px 6px rgba(99, 102, 241, .08), 0 10px 15px rgba(99, 102, 241, .04);--shadow-xs: var(--shadow-sm);--shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, .06), 0 4px 6px -4px rgba(15, 23, 42, .04);--shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, .08), 0 8px 10px -6px rgba(15, 23, 42, .04);--shadow-sidebar: 1px 0 3px rgba(15, 23, 42, .04);--shadow-topbar: 0 1px 3px rgba(15, 23, 42, .04);--sidebar-width: 240px;--sidebar-collapsed-width: 64px;--topbar-height: 52px;--content-padding-x: 32px;--content-padding-y: 24px;--z-base: 0;--z-dropdown: 10;--z-sticky: 20;--z-overlay: 30;--z-modal: 40;--z-toast: 50;--z-sidebar: 30;--z-topbar: 40;--z-modal-backdrop: 60;--z-tooltip: 90;--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-base: var(--transition-normal);--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1);--transition-bounce: .4s cubic-bezier(.68, -.55, .27, 1.55);--transition-data: .4s cubic-bezier(.16, 1, .3, 1);--chart-1: #3b82f6;--chart-2: #f97316;--chart-3: #8b5cf6;--chart-4: #06b6d4;--chart-5: #f59e0b;--chart-6: #10b981;--chart-7: #ef4444;--chart-8: #84cc16;--skeleton-base: var(--slate-100);--skeleton-shine: var(--slate-200);--text-num: tabular-nums;--stat-value-size: 1.75rem;--stat-trend-up: var(--color-success);--stat-trend-down: var(--color-error);--stat-trend-flat: var(--text-tertiary);--chart-area-alpha: .15;--chart-line-width: 2px;--chart-dot-size: 4px;--bp-sm: 640px;--bp-md: 768px;--bp-lg: 1024px;--bp-xl: 1280px;--bp-2xl: 1536px;--sidebar-group-gap: 2px;--sidebar-item-height: 32px;--sidebar-icon-size: 18px}html[data-theme=dark]{--color-bg: #0f172a;--color-surface: #1e293b;--color-border: rgba(51, 65, 85, .5);--color-border-light: rgba(51, 65, 85, .3);--color-title: #f1f5f9;--color-body: #94a3b8;--color-muted: #64748b;--color-disabled: #475569;--color-accent: #818cf8;--color-accent-hover: #6366f1;--color-accent-light: rgba(129, 140, 248, .12);--bg-page: var(--color-bg);--bg-card: var(--color-surface);--bg-card-hover: var(--slate-800);--bg-sidebar: var(--color-surface);--bg-sidebar-hover: var(--slate-800);--bg-sidebar-active: rgba(99, 102, 241, .15);--bg-topbar: var(--color-surface);--bg-overlay: rgba(0, 0, 0, .6);--bg-input: var(--color-surface);--bg-input-disabled: var(--slate-800);--bg-code: var(--slate-800);--text-primary: var(--color-title);--text-secondary: var(--slate-400);--text-tertiary: var(--slate-500);--text-link: var(--color-accent);--text-link-hover: #a5b4fc;--border-default: var(--slate-700);--border-hover: var(--slate-600);--border-focus: var(--color-accent);--border-subtle: var(--slate-800);--skeleton-base: var(--slate-700);--skeleton-shine: var(--slate-600);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5);--shadow-sidebar: 1px 0 3px rgba(0, 0, 0, .2);--shadow-topbar: 0 1px 3px rgba(0, 0, 0, .2)}@media (prefers-color-scheme: dark){html:not([data-theme=light]){--color-bg: #0f172a;--color-surface: #1e293b;--color-border: rgba(51, 65, 85, .5);--color-border-light: rgba(51, 65, 85, .3);--color-title: #f1f5f9;--color-body: #94a3b8;--color-muted: #64748b;--color-disabled: #475569;--color-accent: #818cf8;--color-accent-hover: #6366f1;--color-accent-light: rgba(129, 140, 248, .12);--bg-page: var(--color-bg);--bg-card: var(--color-surface);--bg-card-hover: var(--slate-800);--bg-sidebar: var(--color-surface);--bg-sidebar-hover: var(--slate-800);--bg-sidebar-active: rgba(99, 102, 241, .15);--bg-topbar: var(--color-surface);--bg-overlay: rgba(0, 0, 0, .6);--bg-input: var(--color-surface);--bg-input-disabled: var(--slate-800);--bg-code: var(--slate-800);--text-primary: var(--color-title);--text-secondary: var(--slate-400);--text-tertiary: var(--slate-500);--text-link: var(--color-accent);--text-link-hover: #a5b4fc;--border-default: var(--slate-700);--border-hover: var(--slate-600);--border-focus: var(--color-accent);--border-subtle: var(--slate-800);--skeleton-base: var(--slate-700);--skeleton-shine: var(--slate-600);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .4);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .5);--shadow-sidebar: 1px 0 3px rgba(0, 0, 0, .2);--shadow-topbar: 0 1px 3px rgba(0, 0, 0, .2)}}.app-layout{display:flex;min-height:100dvh;background:var(--bg-page)}.sidebar{width:var(--sidebar-width);background:var(--bg-sidebar);border-right:1px solid var(--border-default);display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:var(--z-sidebar);overflow:hidden;transition:transform var(--transition-base),width var(--transition-base)}.sidebar--collapsed .sidebar__logo-text,.sidebar--collapsed .sidebar__group-label,.sidebar--collapsed .sidebar__subgroup-label,.sidebar--collapsed .sidebar__link-text,.sidebar--collapsed .sidebar__user-info,.sidebar--collapsed .sidebar__user-logout,.sidebar--collapsed .sidebar__group-chevron,.sidebar--collapsed .sidebar__subgroup-chevron,.sidebar--collapsed .sidebar__search{display:none}.sidebar--collapsed .sidebar__header{justify-content:center;padding:0 var(--space-2)}.sidebar--collapsed .sidebar__user{justify-content:center;padding:var(--space-1\.5) var(--space-1)}.sidebar__header{display:flex;align-items:center;height:var(--topbar-height);padding:0 var(--space-2) 0 var(--space-4);gap:var(--space-1);border-bottom:1px solid var(--border-default);flex-shrink:0}.sidebar__toggle-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--text-tertiary);border-radius:var(--radius-md);cursor:pointer;font-size:12px;flex-shrink:0;transition:all var(--transition-fast)}.sidebar__toggle-btn:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.sidebar--collapsed .sidebar__toggle-btn{display:none}.sidebar:not(.sidebar--collapsed) .sidebar__toggle-btn{display:flex}.sidebar__logo{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:600;color:var(--text-primary);text-decoration:none}.sidebar__logo-mark{width:24px;height:24px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__logo-text{font-size:var(--text-sm);font-weight:600;letter-spacing:-.01em}.sidebar__search{position:relative;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-default);flex-shrink:0}.sidebar__search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:var(--text-tertiary);pointer-events:none}.sidebar__search-input{width:100%;height:28px;padding:0 var(--space-2) 0 28px;font-size:var(--text-xs);background:var(--slate-100);border:1px solid transparent;border-radius:var(--radius-md);color:var(--text-primary);outline:none;transition:all var(--transition-fast)}.sidebar__search-input:focus{background:var(--bg-input);border-color:var(--border-focus);box-shadow:0 0 0 2px var(--color-brand-100)}.sidebar__search-input::placeholder{color:var(--text-tertiary)}.sidebar__search-clear{position:absolute;right:18px;top:50%;transform:translateY(-50%);width:16px;height:16px;display:flex;align-items:center;justify-content:center;font-size:10px;color:var(--text-tertiary);border-radius:var(--radius-full);cursor:pointer}.sidebar__search-clear:hover{background:var(--slate-200);color:var(--text-secondary)}.sidebar__search-results{flex:1;overflow-y:auto;padding:var(--space-2) var(--space-3)}.sidebar__search-empty{text-align:center;padding:var(--space-8) var(--space-2);font-size:var(--text-xs);color:var(--text-tertiary)}.sidebar__search-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1\.5) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--text-secondary);text-decoration:none;cursor:pointer;transition:all var(--transition-fast)}.sidebar__search-item:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.sidebar__search-item--active{background:var(--bg-sidebar-active);color:var(--color-brand-600)}.sidebar__search-item-label{font-weight:500}.sidebar__search-item-group{font-size:10px;color:var(--text-tertiary);padding:1px 6px;background:var(--slate-100);border-radius:var(--radius-sm)}.sidebar__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--space-2) var(--space-3) var(--space-4)}.sidebar__nav::-webkit-scrollbar{width:4px}.sidebar__nav::-webkit-scrollbar-thumb{background:var(--slate-200);border-radius:2px}.sidebar__nav::-webkit-scrollbar-track{background:transparent}html[data-theme=dark] .sidebar__nav::-webkit-scrollbar-thumb{background:var(--slate-600)}@media (prefers-color-scheme: dark){html:not([data-theme=light]) .sidebar__nav::-webkit-scrollbar-thumb{background:var(--slate-600)}}.sidebar__divider{height:1px;margin:var(--space-1) var(--space-2);background:var(--border-default);opacity:.6}.sidebar__divider--sub{margin-left:var(--space-5);margin-right:var(--space-2)}.sidebar__tree{position:relative;margin-left:14px;padding-left:8px;border-left:1px solid var(--border-default)}.sidebar__tree--sub{margin-left:0;padding-left:10px}.sidebar__tree>.sidebar__link:after{content:"";position:absolute;left:-9px;top:50%;width:8px;height:1px;background:var(--border-default)}.sidebar__tree>.sidebar__subgroup>.sidebar__subgroup-header:after{content:"";position:absolute;left:-9px;top:50%;width:8px;height:1px;background:var(--border-default)}.sidebar__tree--sub>.sidebar__link:after{content:"";position:absolute;left:-11px;top:50%;width:10px;height:1px;background:var(--border-default)}.sidebar--collapsed .sidebar__tree,.sidebar--collapsed .sidebar__tree--sub{margin-left:0;padding-left:0;border-left:none}.sidebar--collapsed .sidebar__tree>.sidebar__link:after,.sidebar--collapsed .sidebar__tree>.sidebar__subgroup>.sidebar__subgroup-header:after,.sidebar--collapsed .sidebar__tree--sub>.sidebar__link:after{display:none}.sidebar__group{margin-bottom:var(--space-1)}.sidebar__group-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1\.5) var(--space-2);border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.sidebar__group-header:hover{background:var(--bg-sidebar-hover)}.sidebar__group-header .sidebar__icon{color:var(--text-tertiary)}.sidebar__group-label{flex:1;font-size:12px;font-weight:600;color:var(--text-tertiary);letter-spacing:.02em}.sidebar__group-chevron{color:var(--text-tertiary);transition:transform var(--transition-fast)}.sidebar__group--expanded .sidebar__group-chevron{transform:rotate(90deg)}.sidebar__icon{flex-shrink:0;color:var(--text-tertiary);transition:color var(--transition-fast)}.sidebar__link:hover .sidebar__icon{color:var(--text-secondary)}.sidebar__link--active .sidebar__icon{color:var(--color-brand-500)}.sidebar__link-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1\.5) var(--space-2);margin:1px 0;border-radius:var(--radius-md);font-size:13px;font-weight:500;color:var(--text-secondary);text-decoration:none;cursor:pointer;transition:all var(--transition-fast);position:relative}.sidebar__link:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.sidebar__link--active{background:var(--bg-sidebar-active);color:var(--color-brand-600);font-weight:600;box-shadow:inset 0 0 0 1px #6366f11f}.sidebar__link--active .sidebar__icon{color:var(--color-brand-500);filter:drop-shadow(0 0 4px rgba(99,102,241,.2))}.sidebar__link--active:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:2px;background:var(--color-brand-500);border-radius:0 2px 2px 0}.sidebar__link--nested{padding-left:var(--space-7);font-size:13px}.sidebar__subgroup-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2) var(--space-1) var(--space-5);margin:1px 0;border-radius:var(--radius-md);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast);position:relative}.sidebar__subgroup-header:hover{background:var(--bg-sidebar-hover)}.sidebar__subgroup-header .sidebar__icon{color:var(--text-tertiary);flex-shrink:0}.sidebar__subgroup-label{flex:1;font-size:13px;font-weight:500;color:var(--text-secondary);letter-spacing:.01em}.sidebar__subgroup-chevron{color:var(--text-tertiary);transition:transform var(--transition-fast)}.sidebar__subgroup--expanded .sidebar__subgroup-chevron{transform:rotate(90deg)}.sidebar__footer{border-top:1px solid var(--border-default);padding:var(--space-2) var(--space-3);flex-shrink:0}.sidebar__user{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1\.5) var(--space-2);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.sidebar__user:hover{background:var(--bg-sidebar-hover)}.sidebar__user-avatar{width:24px;height:24px;border-radius:var(--radius-md);background:var(--color-brand-100);color:var(--color-brand-600);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;flex-shrink:0}.sidebar__user-info{flex:1;min-width:0}.sidebar__user-name{font-size:var(--text-xs);font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__user-role{font-size:10px;color:var(--text-tertiary)}.sidebar__user-logout{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.sidebar__user-logout:hover{background:var(--color-error-bg);color:var(--color-error)}.sidebar-overlay{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:calc(var(--z-sidebar) - 1)}.topbar{position:fixed;top:0;left:var(--sidebar-collapsed-width);right:0;height:var(--topbar-height);background:var(--bg-topbar);border-bottom:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-6);z-index:var(--z-topbar);flex-shrink:0;transition:left .2s cubic-bezier(.16,1,.3,1)}.sidebar:not(.sidebar--collapsed)~.app-content .topbar{left:var(--sidebar-width)}.topbar__left{display:flex;align-items:center;gap:var(--space-3)}.topbar__menu-btn{display:none;width:28px;height:28px;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.topbar__menu-btn:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.topbar__collapse-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);border:none;background:none;font-size:var(--text-sm)}.topbar__collapse-btn:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.topbar__breadcrumb{display:flex;align-items:center;gap:var(--space-1\.5);font-size:var(--text-sm);color:var(--text-secondary)}.topbar__breadcrumb-root{font-weight:500;color:var(--text-tertiary)}.topbar__breadcrumb-sep{color:var(--text-tertiary);font-size:10px}.topbar__breadcrumb-current{font-weight:600;color:var(--text-primary)}.topbar__right{display:flex;align-items:center;gap:var(--space-1)}.topbar__action-btn{position:relative;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.topbar__action-btn:hover{background:var(--bg-sidebar-hover);color:var(--text-primary)}.topbar__badge{position:absolute;top:7px;right:7px;width:6px;height:6px;background:var(--color-error);border-radius:var(--radius-full);border:1.5px solid var(--bg-topbar);animation:badge-pulse 2s ease-in-out infinite}@keyframes badge-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}.topbar__action-btn--has-notification svg{animation:bell-ring .5s var(--transition-spring)}@keyframes bell-ring{0%{transform:rotate(0)}15%{transform:rotate(12deg)}30%{transform:rotate(-10deg)}45%{transform:rotate(6deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(2deg)}to{transform:rotate(0)}}.app-content{flex:1;margin-left:var(--sidebar-collapsed-width);display:flex;flex-direction:column;min-height:100dvh;transition:margin-left .2s cubic-bezier(.16,1,.3,1)}.sidebar:not(.sidebar--collapsed)~.app-content{margin-left:var(--sidebar-width)}.app-content__inner{flex:1;padding:var(--content-padding-y) var(--content-padding-x);margin-top:var(--topbar-height);width:100%}.bento-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-4)}.bento-grid__item{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.bento-grid__item--span-3{grid-column:span 3}.bento-grid__item--span-4{grid-column:span 4}.bento-grid__item--span-6{grid-column:span 6}.bento-grid__item--span-8{grid-column:span 8}.bento-grid__item--span-12{grid-column:span 12}.dense-section{border-top:1px solid var(--color-border);padding:var(--space-4) 0}.dense-section:first-child{border-top:none;padding-top:0}.dense-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.dense-section__title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0}.dense-section__action{font-size:var(--text-xs);color:var(--color-accent);cursor:pointer;font-weight:500}.dense-section__action:hover{color:var(--color-accent-hover)}.auth-layout{min-height:100dvh;display:grid;grid-template-columns:1fr 1fr;background:var(--bg-page)}.auth-layout__brand{position:relative;display:none;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,var(--color-brand-600) 0%,var(--color-brand-500) 40%,var(--color-brand-400) 100%);padding:48px;overflow:hidden}@media (min-width: 1024px){.auth-layout__brand{display:flex}}.auth-layout__brand-bg{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,rgba(255,255,255,.06) 1px,transparent 1px);background-size:20px 20px}.auth-layout__brand-blur{position:absolute;border-radius:50%;filter:blur(64px);opacity:.15}.auth-layout__brand-blur--top{top:25%;right:25%;width:256px;height:256px;background:#ffffff4d}.auth-layout__brand-blur--bottom{bottom:25%;left:25%;width:384px;height:384px;background:#ffffff26}.auth-layout__brand-header{position:relative;z-index:20;display:flex;align-items:center;gap:8px}.auth-layout__brand-logo{width:32px;height:32px;background:#ffffff1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:#fff}.auth-layout__brand-name{font-size:var(--text-lg);font-weight:600;color:#fff}.auth-layout__characters{position:relative;z-index:20;display:flex;align-items:flex-end;justify-content:center;flex:1;min-height:0}.login-characters{position:relative;width:550px;height:400px;transform:scale(.85)}@media (min-width: 1280px){.login-characters{transform:scale(1)}}.login-char{position:absolute;bottom:0;z-index:1;transition:all .7s ease-in-out;transform-origin:bottom center}.login-char--purple{z-index:1;border-radius:10px 10px 0 0}.login-char--black{z-index:2;border-radius:8px 8px 0 0}.login-char--orange{z-index:3}.login-char--yellow{z-index:4}.login-char__eyes{position:absolute;display:flex;transition:all .7s ease-in-out}.auth-layout__brand-footer{position:relative;z-index:20}.auth-layout__brand-tagline{font-size:var(--text-sm);color:#fff9;margin:0 0 16px}.auth-layout__brand-links{display:flex;gap:24px}.auth-layout__brand-link{font-size:var(--text-sm);color:#ffffff80;text-decoration:none;transition:color .15s}.auth-layout__brand-link:hover{color:#ffffffe6}.auth-layout__form{display:flex;align-items:center;justify-content:center;padding:32px;background:var(--bg-page)}.auth-layout__card{width:100%;max-width:420px}.auth-layout__mobile-logo{display:flex;align-items:center;justify-content:center;gap:8px;font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:48px}@media (min-width: 1024px){.auth-layout__mobile-logo{display:none}}.auth-layout__card-header{text-align:center;margin-bottom:40px}.auth-layout__card-title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin:0 0 8px;letter-spacing:-.02em}.auth-layout__card-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.login-form{display:flex;flex-direction:column;gap:20px}.form-input--lg{height:48px;font-size:var(--text-base)}.password-field{position:relative}.password-field .form-input{padding-right:40px}.password-field__toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-tertiary);cursor:pointer;padding:4px;display:flex;align-items:center;transition:color .15s}.password-field__toggle:hover{color:var(--text-secondary)}.login-form__options{display:flex;align-items:center;justify-content:space-between}.login-form__remember{display:flex;align-items:center;gap:8px;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer}.login-form__checkbox{width:16px;height:16px;accent-color:var(--color-brand-500);cursor:pointer}.login-form__forgot{font-size:var(--text-sm);color:var(--color-brand-500);text-decoration:none;font-weight:500}.login-form__forgot:hover{text-decoration:underline}.login-form__divider{display:flex;align-items:center;gap:16px;color:var(--text-tertiary);font-size:var(--text-sm)}.login-form__divider:before,.login-form__divider:after{content:"";flex:1;height:1px;background:var(--border-default)}.login-form__footer{text-align:center;font-size:var(--text-sm);color:var(--text-secondary);margin-top:8px}.login-form__signup{color:var(--text-primary);font-weight:500;text-decoration:none;margin-left:4px}.login-form__signup:hover{text-decoration:underline}@media (max-width: 1023px){.auth-layout{grid-template-columns:1fr;padding:0}.auth-layout__form{padding:24px}}.page__header{display:flex;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-5)}.page__header-left{display:flex;flex-direction:column;gap:var(--space-0\.5);min-width:0}.page__title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin:0;line-height:var(--leading-tight);overflow-wrap:break-word}.page__subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.page__header-actions{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.page__filters{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.page__search{flex:1;min-width:200px;max-width:320px;height:34px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-title);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;box-sizing:border-box;transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.page__search::placeholder{color:var(--color-muted)}.page__search:hover{border-color:var(--color-muted)}.page__search:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.app-loading{display:flex;align-items:center;justify-content:center;min-height:100dvh;background:var(--bg-page)}.app-loading__spinner{width:24px;height:24px;border:2px solid var(--slate-200);border-top-color:var(--color-brand-500);border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.onboarding-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:var(--space-8);background:var(--bg-page)}.onboarding-container{width:100%;max-width:560px}.onboarding-header{text-align:center;margin-bottom:var(--space-8)}.onboarding-header__title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-1)}.onboarding-header__subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.onboarding-steps{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:var(--space-8)}.onboarding-step{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary)}.onboarding-step__indicator{width:28px;height:28px;border-radius:var(--radius-full);border:2px solid var(--border-default);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0}.onboarding-step--active .onboarding-step__indicator{border-color:var(--color-brand-500);background:var(--color-brand-50);color:var(--color-brand-600)}.onboarding-step--done .onboarding-step__indicator{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-success)}.onboarding-step__label{display:none}.onboarding-step__connector{width:24px;height:1px;background:var(--border-default);margin:0 var(--space-2)}.onboarding-content{background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6)}.onboarding-section__title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1)}.onboarding-section__desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-5)}.onboarding-invite-row{display:flex;gap:var(--space-2);margin-bottom:var(--space-2)}.onboarding-invite-remove{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-tertiary);flex-shrink:0}.onboarding-invite-remove:hover{background:var(--color-error-bg);color:var(--color-error);border-color:var(--color-error-light)}.onboarding-add-btn{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--text-sm);color:var(--color-brand-600);border-radius:var(--radius-md);margin-top:var(--space-1)}.onboarding-add-btn:hover{background:var(--color-brand-50)}.onboarding-import-options{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.onboarding-import-option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm)}.onboarding-import-option:hover{background:var(--slate-50)}.onboarding-import-csv{margin-bottom:var(--space-3)}.onboarding-import-hint{font-size:var(--text-xs);color:var(--text-tertiary);margin-top:var(--space-2)}.onboarding-footer{display:flex;align-items:center;justify-content:space-between}.onboarding-footer__left,.onboarding-footer__right{display:flex;align-items:center;gap:var(--space-2)}.onboarding-complete{text-align:center;padding:var(--space-12)}.onboarding-complete__icon{font-size:48px;margin-bottom:var(--space-4)}.onboarding-complete__title{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-2)}.onboarding-complete__desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-6)}.mobile-tab-bar{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--mobile-tab-bar-height);background:var(--bg-topbar);border-top:1px solid var(--border-default);z-index:var(--z-topbar);padding:0 var(--space-2);padding-bottom:env(safe-area-inset-bottom,0)}.mobile-tab-bar__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--text-tertiary);text-decoration:none;font-size:10px;font-weight:500;transition:color var(--transition-fast);padding:var(--space-1) 0;border:none;background:none;cursor:pointer;font-family:var(--font-sans)}.mobile-tab-bar__item:hover{color:var(--text-secondary)}.mobile-tab-bar__item--active{color:var(--color-accent)}.mobile-tab-bar__item svg{width:20px;height:20px;flex-shrink:0}.notification-panel{position:fixed;top:var(--topbar-height);right:var(--space-4);width:360px;max-height:480px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:var(--z-modal);display:flex;flex-direction:column;overflow:hidden}.notification-panel__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border)}.notification-panel__title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0}.notification-panel__actions{display:flex;align-items:center;gap:var(--space-1)}.notification-panel__action{font-size:var(--text-xs);color:var(--color-accent);cursor:pointer;font-weight:500;border:none;background:none;font-family:var(--font-sans)}.notification-panel__action:hover{color:var(--color-accent-hover)}.notification-panel__list{flex:1;overflow-y:auto;padding:var(--space-2)}.notification-panel__empty{text-align:center;padding:var(--space-8) var(--space-4);font-size:var(--text-sm);color:var(--text-tertiary)}.notification-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.notification-item:hover{background:var(--slate-50)}.notification-item--unread{background:var(--color-brand-50)}.notification-item--unread:hover{background:var(--color-brand-100)}.notification-item__icon{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:14px}.notification-item__icon--success{background:var(--color-success-bg);color:var(--color-success)}.notification-item__icon--warning{background:var(--color-warning-bg);color:var(--color-warning)}.notification-item__icon--error{background:var(--color-error-bg);color:var(--color-error)}.notification-item__icon--info{background:var(--color-info-bg);color:var(--color-info)}.notification-item__content{flex:1;min-width:0}.notification-item__title{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);margin:0}.notification-item__desc{font-size:var(--text-xs);color:var(--text-secondary);margin:2px 0 0}.notification-item__time{font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.notification-panel__footer{padding:var(--space-2) var(--space-4);border-top:1px solid var(--color-border);text-align:center}.notification-panel__footer a{font-size:var(--text-xs);color:var(--color-accent);text-decoration:none;font-weight:500}.notification-panel__footer a:hover{color:var(--color-accent-hover)}@media (max-width: 1024px){:root{--sidebar-width: 220px}.app-content__inner{padding:var(--space-4) var(--space-5);max-width:none}.bento-grid{grid-template-columns:repeat(6,1fr)}.bento-grid__item--span-3,.bento-grid__item--span-4,.bento-grid__item--span-6,.bento-grid__item--span-8,.bento-grid__item--span-12{grid-column:span 6}}@media (max-width: 768px){.sidebar{transform:translate(-100%)}.sidebar--open{transform:translate(0)}.sidebar-overlay--visible{display:block}.topbar{left:0}.topbar__menu-btn{display:flex}.topbar__collapse-btn{display:none}.app-content{margin-left:0}.app-content__inner{padding:var(--space-4);padding-bottom:calc(var(--mobile-tab-bar-height) + var(--space-4) + env(safe-area-inset-bottom,0))}.auth-layout__form{padding:var(--space-4)}.auth-layout__card-inner{padding:var(--space-6)}.bento-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.bento-grid__item--span-3,.bento-grid__item--span-4,.bento-grid__item--span-6,.bento-grid__item--span-8,.bento-grid__item--span-12{grid-column:span 2}.mobile-tab-bar{display:flex}.notification-panel{top:var(--topbar-height);right:0;left:0;width:auto;max-height:50vh;border-radius:0}}@supports (padding-bottom: env(safe-area-inset-bottom)){.app-content__inner{padding-bottom:calc(var(--content-padding-y) + env(safe-area-inset-bottom,0))}}.topbar__search-btn{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-input);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-tertiary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}@media (max-width: 767px){.topbar__search-btn{padding:6px;background:none;border:none}}.topbar__search-btn:hover{border-color:var(--border-hover);color:var(--text-secondary)}.topbar__search-hint{font-size:11px;padding:1px 5px;background:var(--slate-100);border-radius:3px;color:var(--text-tertiary);font-family:var(--font-mono)}@media (max-width: 767px){.topbar__search-hint{display:none}}.topbar__user-btn{display:flex;align-items:center;gap:8px;padding:4px 8px;background:none;border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast)}.topbar__user-btn:hover{background:var(--bg-sidebar-hover)}.topbar__user-avatar-sm{width:28px;height:28px;border-radius:var(--radius-full);background:var(--color-brand-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.topbar__user-name-sm{font-size:var(--text-sm);color:var(--text-primary);font-weight:500;display:none}@media (min-width: 640px){.topbar__user-name-sm{display:inline}}.topbar__user-menu{position:relative}.topbar__user-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:220px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-modal);overflow:hidden;animation:dropdown-in .15s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.topbar__user-dropdown-header{display:flex;align-items:center;gap:12px;padding:12px 16px}.topbar__user-dropdown-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--color-brand-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600}.topbar__user-dropdown-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.topbar__user-dropdown-role{font-size:var(--text-xs);color:var(--text-tertiary)}.topbar__user-dropdown-divider{height:1px;background:var(--border-default);margin:4px 0}.topbar__user-dropdown-item{display:block;width:100%;padding:8px 16px;font-size:var(--text-sm);color:var(--text-primary);text-decoration:none;background:none;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast)}.topbar__user-dropdown-item:hover{background:var(--bg-sidebar-hover)}.topbar__user-dropdown-item--danger{color:var(--color-error)}.topbar__user-dropdown-item--danger:hover{background:var(--color-error-bg)}.search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:calc(var(--z-modal) + 1);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.search-panel{width:100%;max-width:560px;background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden}@media (max-width: 767px){.search-overlay{align-items:stretch;padding-top:0}.search-panel{max-width:none;border-radius:0;border:none;box-shadow:none}}.search-panel__input-wrap{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-default);color:var(--text-tertiary)}.search-panel__input{flex:1;border:none;background:none;font-size:var(--text-lg);color:var(--text-primary);outline:none;font-family:var(--font-sans)}.search-panel__input::placeholder{color:var(--text-tertiary)}.search-panel__clear{background:none;border:none;color:var(--text-tertiary);cursor:pointer;font-size:14px;padding:4px}.search-panel__results{max-height:320px;overflow-y:auto}.search-panel__result{display:flex;align-items:center;gap:var(--space-3);padding:10px 20px;text-decoration:none;color:var(--text-primary);font-size:var(--text-sm);cursor:pointer;transition:background var(--transition-fast)}.search-panel__result:hover,.search-panel__result:focus{background:var(--bg-sidebar-hover);outline:none}.search-panel__result-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}.search-panel__result-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.search-panel__result-label{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-panel__result-desc{font-size:var(--text-xs);color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-panel__result-badge{font-size:10px;padding:1px 6px;border-radius:var(--radius-sm);background:var(--color-brand-100);color:var(--color-brand-600);white-space:nowrap;flex-shrink:0}.search-panel__result-group{font-size:var(--text-xs);color:var(--text-tertiary)}.search-panel__empty{padding:32px 20px;text-align:center;color:var(--text-tertiary);font-size:var(--text-sm)}.search-panel__hint{display:flex;gap:24px;padding:12px 20px}.search-panel__hint-item{display:flex;align-items:center;gap:6px;font-size:var(--text-xs);color:var(--text-tertiary)}.search-panel__hint-item kbd{padding:1px 5px;background:var(--slate-100);border-radius:3px;font-family:var(--font-mono);font-size:11px;border:1px solid var(--border-default)}@media (max-width: 768px){.mobile-tab-bar{display:flex}.app-content__inner{padding-bottom:calc(var(--content-padding-y) + 64px)}}.sidebar__org-menu{position:relative;width:100%}.sidebar__org-btn{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1\.5) var(--space-2);border-radius:var(--radius-md);background:none;border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);font-family:var(--font-sans)}.sidebar__org-btn:hover{background:var(--bg-sidebar-hover);border-color:var(--border-hover)}.sidebar--collapsed .sidebar__org-btn{justify-content:center;padding:var(--space-1\.5);border:none}.sidebar__org-avatar{width:24px;height:24px;border-radius:var(--radius-md);background:var(--color-brand-100);color:var(--color-brand-600);display:flex;align-items:center;justify-content:center;flex-shrink:0}.sidebar__org-name{flex:1;font-size:var(--text-sm);font-weight:600;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__org-dropdown{position:absolute;top:calc(100% + 4px);left:var(--space-2);right:var(--space-2);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden;animation:dropdown-in .12s ease-out}.sidebar__org-dropdown-header{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.05em}.sidebar__org-dropdown-divider{height:1px;background:var(--border-default)}.sidebar__org-dropdown-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-primary);text-decoration:none;cursor:pointer;transition:background var(--transition-fast)}.sidebar__org-dropdown-item:hover{background:var(--bg-sidebar-hover)}.sidebar__user-menu{position:relative}.sidebar__user-btn{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1\.5) var(--space-2);border-radius:var(--radius-md);background:none;border:none;color:var(--text-primary);cursor:pointer;transition:background var(--transition-fast);font-family:var(--font-sans)}.sidebar__user-btn:hover{background:var(--bg-sidebar-hover)}.sidebar--collapsed .sidebar__user-btn{justify-content:center;padding:var(--space-1\.5)}.sidebar__user-dropdown{position:absolute;bottom:calc(100% + 4px);left:var(--space-2);right:var(--space-2);background:var(--bg-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);overflow:hidden;animation:dropdown-up .12s ease-out}@keyframes dropdown-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.sidebar__user-dropdown-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3)}.sidebar__user-dropdown-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:var(--color-brand-500);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600}.sidebar__user-dropdown-name{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.sidebar__user-dropdown-role{font-size:var(--text-xs);color:var(--text-tertiary)}.sidebar__user-dropdown-divider{height:1px;background:var(--border-default)}.sidebar__user-dropdown-item{display:block;width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-primary);text-decoration:none;background:none;border:none;text-align:left;cursor:pointer;transition:background var(--transition-fast);font-family:var(--font-sans)}.sidebar__user-dropdown-item:hover{background:var(--bg-sidebar-hover)}.sidebar__user-dropdown-item--danger{color:var(--color-error)}.sidebar__user-dropdown-item--danger:hover{background:var(--color-error-bg)}.sidebar{transition:width .2s cubic-bezier(.16,1,.3,1)}.sidebar--collapsed{width:var(--sidebar-collapsed-width)}.sidebar--collapsed .sidebar__header{padding:0 var(--space-2)}.sidebar--collapsed .sidebar__search{display:none}.sidebar--collapsed .sidebar__nav{padding:var(--space-2) var(--space-1)}.sidebar--collapsed .sidebar__group-header,.sidebar--collapsed .sidebar__link{justify-content:center;padding:var(--space-1\.5) var(--space-1)}.sidebar--collapsed .sidebar__footer{padding:var(--space-2) var(--space-1)}.sidebar--collapsed .sidebar__org-name,.sidebar--collapsed .sidebar__group-label,.sidebar--collapsed .sidebar__link-text,.sidebar--collapsed .sidebar__user-info,.sidebar--collapsed .sidebar__group-chevron,.sidebar--collapsed .sidebar__subgroup-chevron,.sidebar--collapsed .sidebar__link{position:relative}.sidebar--collapsed .sidebar__link:hover:after{content:attr(data-tooltip);position:absolute;left:calc(100% + 8px);top:50%;transform:translateY(-50%);padding:4px 8px;background:var(--slate-800);color:#fff;font-size:var(--text-xs);border-radius:var(--radius-sm);white-space:nowrap;z-index:var(--z-tooltip);pointer-events:none}html[data-theme=dark] .sidebar--collapsed .sidebar__link:hover:after{background:var(--slate-200);color:var(--slate-900)}@media (prefers-color-scheme: dark){html:not([data-theme=light]) .sidebar--collapsed .sidebar__link:hover:after{background:var(--slate-200);color:var(--slate-900)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1\.5);padding:var(--space-2) var(--space-3\.5);font-size:var(--text-sm);font-weight:500;line-height:var(--leading-snug);border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:background-color .2s cubic-bezier(.16,1,.3,1),transform .2s cubic-bezier(.16,1,.3,1);white-space:nowrap;-webkit-user-select:none;user-select:none;font-family:var(--font-sans);text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none;transform:none}.btn:active:not(:disabled){transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.btn--primary{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.btn--primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn--secondary{background:transparent;color:var(--color-body);border:1px solid var(--color-border)}.btn--secondary:hover:not(:disabled){background:#f8fafccc;border-color:var(--color-accent)}.btn--ghost{background:transparent;color:var(--text-secondary);border-color:transparent}.btn--ghost:hover:not(:disabled){background:var(--slate-100);color:var(--text-primary)}.btn--danger{background:var(--color-error);color:#fff;border-color:var(--color-error)}.btn--danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn--sm{padding:var(--space-1) var(--space-2\.5);font-size:var(--text-xs)}.btn--lg{padding:var(--space-2\.5) var(--space-5);font-size:var(--text-base)}.btn--full{width:100%}.form-group{margin-bottom:var(--space-4)}.form-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-1\.5)}.form-label--required:after{content:" *";color:var(--color-error)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-title);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);outline:none;line-height:var(--leading-normal)}.form-select{-webkit-appearance:auto;-moz-appearance:auto;appearance:auto;min-height:34px;cursor:pointer;padding-right:8px}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-muted)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--color-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--color-bg);color:var(--color-disabled);cursor:not-allowed}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--color-error)}.form-textarea{min-height:80px;resize:vertical}.form-error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.form-hint{font-size:var(--text-xs);color:var(--color-muted);margin-top:var(--space-1)}.form__group{margin-bottom:var(--space-4)}.form__row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form__label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);margin-bottom:var(--space-1\.5)}.form__input,.form__select,.form__textarea{width:100%;padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-title);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1);outline:none;line-height:var(--leading-normal)}.form__input::placeholder,.form__textarea::placeholder{color:var(--color-muted)}.form__input:hover,.form__select:hover,.form__textarea:hover{border-color:var(--color-muted)}.form__input:focus,.form__select:focus,.form__textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.form__input:disabled,.form__select:disabled,.form__textarea:disabled{background:var(--color-bg);color:var(--color-disabled);cursor:not-allowed}.form__textarea{min-height:80px;resize:vertical}.form__error{font-size:var(--text-xs);color:var(--color-error);margin-top:var(--space-1)}.form__input--lg,.form__input.form__input--lg{height:48px;font-size:var(--text-base)}.form__input.error,.form__select.error,.form__textarea.error{border-color:var(--color-error)}.text-link{color:var(--color-accent);text-decoration:none;transition:color .15s ease}.text-link:hover{color:var(--color-accent-hover);text-decoration:underline}.text-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);transition:box-shadow var(--transition-fast)}.card--hover{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.card--hover:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.card--compact{padding:var(--space-3)}.card--spacious{padding:var(--space-6)}.card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.card__title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0}.card__subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin-top:var(--space-0\.5)}.card__actions{display:flex;align-items:center;gap:var(--space-2)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table th{text-align:left;font-weight:600;font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-cell) var(--space-3);border-bottom:2px solid var(--color-border);white-space:nowrap;background:var(--color-bg)}.table td{padding:var(--space-cell) var(--space-3);color:var(--text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.table tr:last-child td{border-bottom:none}.table tr:hover td{background:var(--color-accent-light)}.table tbody tr{transition:background var(--transition-fast)}.table--compact th,.table--compact td{padding:var(--space-1\.5) var(--space-2)}.table td--num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-container table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.table-container thead th{text-align:left;font-weight:600;font-size:var(--text-xs);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;padding:var(--space-cell) var(--space-3);border-bottom:2px solid var(--color-border);white-space:nowrap;background:var(--color-bg)}.table-container tbody td{padding:var(--space-cell) var(--space-3);color:var(--text-primary);border-bottom:1px solid var(--color-border-light);vertical-align:middle}.table-container tbody tr:hover td{background:var(--color-accent-light)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px var(--space-2);font-size:var(--text-xs);font-weight:500;border-radius:var(--radius-full);line-height:var(--leading-none);white-space:nowrap}.badge--default{background:var(--slate-100);color:var(--slate-700)}.badge--success{background:var(--color-success-bg);color:var(--color-success)}.badge--warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge--error{background:var(--color-error-bg);color:var(--color-error)}.badge--info{background:var(--color-info-bg);color:var(--color-info)}.badge--dot{padding-left:var(--space-1\.5)}.badge--dot:before{content:"";width:6px;height:6px;border-radius:var(--radius-full);flex-shrink:0}.badge--dot.badge--success:before{background:var(--color-success)}.badge--dot.badge--warning:before{background:var(--color-warning)}.badge--dot.badge--error:before{background:var(--color-error)}.badge--dot.badge--info:before{background:var(--color-info)}.badge--dot.badge--default:before{background:var(--slate-400)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.stat-item{background:var(--slate-50);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);text-align:left;display:flex;flex-direction:column;gap:var(--space-1);transition:background var(--transition-fast),border-color var(--transition-fast);border-top:2px solid transparent}.stat-item:hover{background:var(--slate-100);border-top-color:var(--color-brand-200)}.stat-item__header{display:flex;align-items:center;justify-content:space-between}.stat-item__label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.stat-item__trend{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums}.stat-item__trend--up{color:var(--stat-trend-up)}.stat-item__trend--down{color:var(--stat-trend-down)}.stat-item__trend--flat{color:var(--stat-trend-flat)}.stat-item__value{font-size:var(--stat-value-size);font-weight:700;color:var(--text-primary);line-height:var(--leading-tight);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;transition:color var(--transition-data)}.stat-item__body{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2)}.stat-item__body .stat-item__value{align-self:flex-end}.stat-card{padding:var(--space-5)}.stat-card__header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-3)}.stat-card__avatar{width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-card__title-area{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.stat-card__label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.stat-card__body{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-2)}.stat-card__value{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.trend-badge{display:inline-flex;align-items:center;gap:3px;font-size:var(--text-xs);font-weight:600;font-variant-numeric:tabular-nums;padding:2px var(--space-1\.5);border-radius:var(--radius-sm)}.trend-badge--up{color:var(--stat-trend-up);background:var(--color-success-bg)}.trend-badge--down{color:var(--stat-trend-down);background:var(--color-error-bg)}.trend-badge--flat{color:var(--text-tertiary);background:var(--slate-100)}.skeleton{background:linear-gradient(90deg,var(--color-border-light) 0%,rgba(226,232,240,.6) 40%,var(--color-border-light) 80%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--text{height:14px;margin-bottom:var(--space-2);width:100%}.skeleton--text-sm{height:10px;width:60%}.skeleton--title{height:20px;width:40%;margin-bottom:var(--space-3)}.skeleton--card{height:120px}.skeleton--list-item{height:48px;margin-bottom:var(--space-2);border-radius:var(--radius-md)}.skeleton--table-row{height:40px;margin-bottom:var(--space-1);border-radius:var(--radius-sm)}.skeleton--avatar{width:32px;height:32px;border-radius:var(--radius-full);flex-shrink:0}.skeleton--stat-value{height:28px;width:40%;margin-bottom:var(--space-1)}.skeleton--stat-label{height:12px;width:60%}.skeleton--text-block{height:14px;width:100%}.skeleton--text-block-short{height:14px;width:65%;margin-top:var(--space-2)}.skeleton-kpi{height:3rem;width:60%}.skeleton-chart{height:200px;width:100%}.skeleton-row{height:2.5rem;width:100%;margin-bottom:.5rem}.skeleton-row:last-child{width:70%}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-6);text-align:center}.empty-state__icon{width:48px;height:48px;background:var(--slate-100);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:22px;margin-bottom:var(--space-4);color:var(--color-muted)}.empty-state__title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1)}.empty-state__desc{font-size:var(--text-sm);color:var(--text-secondary);max-width:300px;margin:0 0 var(--space-4)}.error-alert{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-error-bg);border:1px solid var(--color-error-light);border-radius:var(--radius-lg);color:var(--color-error);font-size:var(--text-sm)}.error-alert__icon{font-size:var(--text-base);flex-shrink:0;margin-top:1px}.error-alert__content{flex:1}.error-alert__title{font-weight:600;margin-bottom:var(--space-0\.5)}.error-alert__message{color:var(--text-secondary)}.progress-bar{display:flex;flex-direction:column;gap:var(--space-1)}.progress-bar__header{display:flex;align-items:center;justify-content:space-between}.progress-bar__label{font-size:var(--text-xs);font-weight:500;color:var(--text-secondary)}.progress-bar__value{font-size:var(--text-xs);font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-muted)}.progress-bar__track{height:6px;background:var(--slate-100);border-radius:var(--radius-full);overflow:hidden}.progress-bar__fill{height:100%;border-radius:var(--radius-full);transition:width .6s cubic-bezier(.16,1,.3,1)}.progress-bar__fill--success{background:var(--color-success)}.progress-bar__fill--warning{background:var(--color-warning)}.progress-bar__fill--error{background:var(--color-error)}.progress-bar__fill--brand{background:var(--color-accent)}.progress-bar__fill--info{background:var(--color-info)}.funnel{display:flex;flex-direction:column;gap:var(--space-1\.5);align-items:center}.funnel__stage{background:var(--color-brand-50);border:1px solid var(--color-brand-200);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--color-brand-700);font-weight:500;transition:all var(--transition-data);width:100%;display:flex;align-items:center;justify-content:space-between}.funnel__stage:hover{background:var(--color-brand-100);border-color:var(--color-brand-300)}.funnel__stage-label{font-weight:600}.funnel__stage-value{font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.funnel__stage-rate{font-size:var(--text-xs);color:var(--color-brand-500);opacity:.7}.modal-backdrop,.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);z-index:var(--z-modal-backdrop);display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.modal-overlay--slide{justify-content:flex-end}.modal{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:85vh;overflow-y:auto;z-index:var(--z-modal)}.modal--lg{max-width:640px}.modal--xl{max-width:900px}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.modal__title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0}.modal__close{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-muted);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-lg)}.modal__close:hover{background:var(--slate-100);color:var(--text-primary)}.modal__body{padding:var(--space-5)}.modal__footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.toast{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast__item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--slate-800);color:#fff;border-radius:var(--radius-lg);font-size:var(--text-sm);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in .2s ease}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(24px)}}.search-box{position:relative}.search-box__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);color:var(--color-muted);font-size:var(--text-sm);pointer-events:none}.search-box__input{width:100%;padding:var(--space-2) var(--space-3) var(--space-2) var(--space-8);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--text-primary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);outline:none;transition:all var(--transition-fast)}.search-box__input::placeholder{color:var(--color-muted)}.search-box__input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.tabs{display:flex;gap:0;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5);overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs__tab{position:relative;padding:var(--space-2\.5) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);background:none;border:none;cursor:pointer;white-space:nowrap;transition:color var(--transition-fast);font-family:var(--font-sans)}.tabs__tab:hover{color:var(--text-primary)}.tabs__tab--active{color:var(--color-accent);font-weight:600}.tabs__tab--active:after{content:"";position:absolute;bottom:-1px;left:var(--space-4);right:var(--space-4);height:2px;background:var(--color-accent);border-radius:1px}.tab{padding:var(--space-2\.5) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);border:none;background:none;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:all var(--transition-fast);font-family:var(--font-sans)}.tab:hover{color:var(--text-primary)}.tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-6) 0}@layer components{.text-muted{color:var(--text-secondary)}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-center{text-align:center}.text-success{color:var(--color-success)}.font-mono{font-family:var(--font-mono)}.font-semibold{font-weight:600}.font-medium{font-weight:500}}@layer components{.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}}@layer components{.gap-2xs{gap:var(--space-1)}.gap-xs{gap:var(--space-2)}.gap-sm{gap:var(--space-3)}.gap-md{gap:var(--space-4)}.gap-lg{gap:var(--space-6)}.mt-xs{margin-top:var(--space-2)}.mt-sm{margin-top:var(--space-3)}.mt-md{margin-top:var(--space-4)}.mt-lg{margin-top:var(--space-6)}.mb-sm{margin-bottom:var(--space-3)}.mb-md{margin-bottom:var(--space-4)}.mb-lg{margin-bottom:var(--space-6)}.p-sm{padding:var(--space-3)}.p-md{padding:var(--space-4)}.p-lg{padding:var(--space-6)}.px-md{padding-left:var(--space-4);padding-right:var(--space-4)}.py-md{padding-top:var(--space-4);padding-bottom:var(--space-4)}.border-top{border-top:1px solid var(--color-border)}}.pulse-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-success);position:relative;flex-shrink:0}.pulse-dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:var(--radius-full);background:var(--color-success);opacity:0;animation:pulse-ring 2s ease-in-out infinite}@keyframes pulse-ring{0%{opacity:.4;transform:scale(.8)}50%{opacity:0;transform:scale(1.6)}to{opacity:0;transform:scale(1.6)}}.pulse-dot--warning{background:var(--color-warning)}.pulse-dot--warning:after{background:var(--color-warning)}.pulse-dot--error{background:var(--color-error)}.pulse-dot--error:after{background:var(--color-error)}.pulse-dot--info{background:var(--color-info)}.pulse-dot--info:after{background:var(--color-info)}.stats-grid>.stat-item,.activity-list>.activity-item{animation:fade-up .4s cubic-bezier(.16,1,.3,1) both}.stats-grid>:nth-child(1){animation-delay:0ms}.stats-grid>:nth-child(2){animation-delay:50ms}.stats-grid>:nth-child(3){animation-delay:.1s}.stats-grid>:nth-child(4){animation-delay:.15s}.stats-grid>:nth-child(5){animation-delay:.2s}.stats-grid>:nth-child(6){animation-delay:.25s}.stats-grid>:nth-child(7){animation-delay:.3s}.stats-grid>:nth-child(8){animation-delay:.35s}.activity-list>.activity-item:nth-child(1){animation-delay:0ms}.activity-list>.activity-item:nth-child(2){animation-delay:60ms}.activity-list>.activity-item:nth-child(3){animation-delay:.12s}.activity-list>.activity-item:nth-child(4){animation-delay:.18s}.activity-list>.activity-item:nth-child(5){animation-delay:.24s}@keyframes fade-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.section-header__left{display:flex;flex-direction:column;gap:2px}.section-header__title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0}.section-header__description{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.section-header__actions{display:flex;align-items:center;gap:var(--space-2)}.activity-list{display:flex;flex-direction:column}.activity-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-border-light);transition:background var(--transition-fast)}.activity-item:last-child{border-bottom:none}.activity-item__icon{width:28px;height:28px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}.activity-item__icon--success{background:var(--color-success-bg);color:var(--color-success)}.activity-item__icon--warning{background:var(--color-warning-bg);color:var(--color-warning)}.activity-item__icon--error{background:var(--color-error-bg);color:var(--color-error)}.activity-item__icon--info{background:var(--color-info-bg);color:var(--color-info)}.activity-item__content{flex:1;min-width:0}.activity-item__title{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);margin:0}.activity-item__desc{font-size:var(--text-xs);color:var(--text-secondary);margin:2px 0 0}.activity-item__time{font-size:var(--text-xs);color:var(--color-muted);white-space:nowrap;font-variant-numeric:tabular-nums;font-family:var(--font-mono)}.mini-chart{height:40px;width:100%;position:relative;overflow:hidden}.mini-chart--sparkline{height:32px}.mini-chart--bar{height:48px;display:flex;align-items:flex-end;gap:2px}.mini-chart--bar .mini-chart__bar-item{flex:1;background:var(--color-brand-300);border-radius:2px 2px 0 0;min-height:2px;transition:height var(--transition-base)}.mini-chart--bar .mini-chart__bar-item:hover{background:var(--color-brand-500)}.mini-ch :lang(zh),[lang=zh-CN],[lang=zh-TW]{font-family:var(--font-sans-zh);font-feature-settings:"palt" 1;hanging-punctuation:allow-end;text-spacing-trim:trim-start}:lang(zh) .en,:lang(zh) code,:lang(zh) .font-mono{font-family:var(--font-mono);letter-spacing:0}:lang(zh) h1,:lang(zh) h2,:lang(zh) h3,:lang(zh) .page__title,:lang(zh) .card__title,:lang(zh) .section-header__title{letter-spacing:.05em}:lang(zh) p,:lang(zh) .text-body{line-height:1.8}:lang(zh) ul,:lang(zh) ol{padding-inline-start:1.5em}:root{--spring-soft: cubic-bezier(.16, 1, .3, 1);--spring-bouncy: cubic-bezier(.34, 1.56, .64, 1);--spring-snappy: cubic-bezier(.2, .8, .2, 1.2)}.spring-soft{transition-timing-function:var(--spring-soft)!important}.spring-bouncy{transition-timing-function:var(--spring-bouncy)!important}.spring-snappy{transition-timing-function:var(--spring-snappy)!important}@keyframes spring-in{0%{opacity:0;transform:scale(.92)}60%{opacity:1;transform:scale(1.02)}to{transform:scale(1)}}@keyframes spring-in-up{0%{opacity:0;transform:translateY(12px) scale(.96)}60%{opacity:1;transform:translateY(-2px) scale(1.01)}to{transform:translateY(0) scale(1)}}.spring-in{animation:spring-in .4s var(--spring-bouncy) both}.spring-in-up{animation:spring-in-up .5s var(--spring-bouncy) both}.spring-hover{transition:transform .25s var(--spring-bouncy)}.spring-hover:hover{transform:scale(1.03)}@media (prefers-contrast: high){:root{--color-border: #64748b;--color-border-light: #94a3b8;--text-secondary: #334155;--color-muted: #475569}}@media (prefers-contrast: more){:root{--color-border: #334155;--text-primary: #000;--text-secondary: #1e293b}.btn,.table th,.table td{border-width:2px}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-link{position:absolute;top:-100%;left:var(--space-4);background:var(--color-accent);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:600;z-index:calc(var(--z-modal) + 1);text-decoration:none;transition:top .2s}.skip-link:focus{top:var(--space-4)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pipeline-kanban{display:flex;gap:12px;min-height:400px;padding-bottom:8px}.pipeline-column{flex:1;min-width:200px;max-width:280px;background:var(--color-surface-secondary, #f9fafb);border-radius:var(--radius-lg, 12px);display:flex;flex-direction:column}.pipeline-column__header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 8px;border-radius:var(--radius-lg, 12px) var(--radius-lg, 12px) 0 0}.pipeline-column__label{font-size:var(--text-sm, 13px);font-weight:600;color:var(--text-primary, #111827)}.pipeline-column__count{font-size:var(--text-xs, 11px);font-weight:500;color:var(--text-tertiary, #9ca3af);background:var(--color-surface, #fff);padding:2px 8px;border-radius:10px}.pipeline-column__stats{padding:0 14px 10px;font-size:var(--text-xs, 11px);color:var(--text-tertiary, #9ca3af);display:flex;gap:6px;align-items:center}.pipeline-column__weighted{opacity:.7}.pipeline-column__cards{flex:1;padding:0 8px 8px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}.pipeline-card{background:var(--color-surface, #fff);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-md, 8px);padding:12px;cursor:grab;transition:box-shadow .2s ease,transform .2s ease;-webkit-user-select:none;user-select:none}.pipeline-card:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.pipeline-card:active{cursor:grabbing}.pipeline-card--stalled{border-left:3px solid #ef4444}.pipeline-card--warning{border-left:3px solid #f59e0b}.pipeline-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:6px;margin-bottom:6px}.pipeline-card__title{font-size:var(--text-sm, 13px);font-weight:600;color:var(--text-primary, #111827);line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.pipeline-card__stall-badge{flex-shrink:0;font-size:14px;line-height:1}.pipeline-card__amount{font-size:var(--text-base, 15px);font-weight:700;color:var(--text-primary, #111827);margin-bottom:4px}.pipeline-card__contact{font-size:var(--text-xs, 11px);color:var(--text-secondary, #6b7280);margin-bottom:6px}.pipeline-card__meta{display:flex;align-items:center;gap:8px;font-size:var(--text-xs, 11px);color:var(--text-tertiary, #9ca3af)}.pipeline-card__bant{background:var(--color-surface-secondary, #f3f4f6);padding:1px 6px;border-radius:4px}.pipeline-card__days{margin-left:auto}.pipeline-card[draggable=true]:active{opacity:.7}.visual-editor{display:flex;gap:16px;min-height:400px;border:1px solid var(--border-color, #e5e7eb);border-radius:var(--radius-lg, 12px);background:var(--color-surface, #fff);overflow:hidden}.visual-editor__palette{width:140px;flex-shrink:0;padding:16px 12px;background:var(--color-surface-secondary, #f9fafb);border-right:1px solid var(--border-color, #e5e7eb)}.visual-editor__palette-title{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary, #9ca3af);margin-bottom:12px}.visual-editor__palette-item{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:4px;font-size:13px;font-weight:500;color:var(--text-primary, #111827);border-left:3px solid transparent;border-radius:6px;cursor:grab;transition:background .15s ease;-webkit-user-select:none;user-select:none}.visual-editor__palette-item:hover{background:var(--color-surface, #fff)}.visual-editor__palette-item:active{cursor:grabbing}.visual-editor__palette-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.visual-editor__canvas{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;align-items:center}.visual-editor__nodes{display:flex;flex-direction:column;align-items:center;width:100%;max-width:520px}.visual-editor__node{width:100%;border:1px solid var(--border-color, #e5e7eb);border-left:3px solid;border-radius:var(--radius-md, 8px);overflow:hidden;background:var(--color-surface, #fff);transition:box-shadow .2s ease}.visual-editor__node:hover{box-shadow:0 2px 8px #0000000f}.visual-editor__node-header{display:flex;align-items:center;justify-content:space-between;padding:6px 12px;color:#fff;font-size:12px;font-weight:600}.visual-editor__node-type{text-transform:uppercase;letter-spacing:.04em;font-size:11px}.visual-editor__node-actions{display:flex;gap:2px}.visual-editor__node-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:4px;background:#fff3;color:#fff;cursor:pointer;font-size:12px;line-height:1;transition:background .15s ease}.visual-editor__node-btn:hover{background:#ffffff59}.visual-editor__node-btn:disabled{opacity:.4;cursor:not-allowed}.visual-editor__node-btn--danger:hover{background:#ef4444cc}.visual-editor__node-body{padding:12px}.visual-editor__node-index{font-size:11px;color:var(--text-tertiary, #9ca3af);margin-bottom:10px}.visual-editor__node-field{margin-bottom:8px}.visual-editor__node-field:last-child{margin-bottom:0}.visual-editor__node-field label{display:block;font-size:11px;font-weight:500;color:var(--text-secondary, #6b7280);margin-bottom:4px}.visual-editor__node-input{width:100%;padding:6px 10px;font-size:13px;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background:var(--color-surface, #fff);color:var(--text-primary, #111827);font-family:inherit;box-sizing:border-box}.visual-editor__node-input:focus{outline:none;border-color:var(--color-primary, #6366f1);box-shadow:0 0 0 2px #6366f11a}.visual-editor__node-textarea{resize:vertical;font-family:SF Mono,Fira Code,monospace;font-size:12px}.visual-editor__node-empty{color:var(--text-tertiary, #9ca3af);font-size:13px;padding:8px 0}.visual-editor__connector{display:flex;flex-direction:column;align-items:center;padding:4px 0;position:relative}.visual-editor__connector-line{width:2px;height:24px;background:var(--border-color, #d1d5db)}.visual-editor__connector-arrow{color:var(--text-tertiary, #9ca3af);line-height:1}.visual-editor__add-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;max-width:520px;padding:10px;margin-top:8px;border:2px dashed var(--border-color, #d1d5db);border-radius:var(--radius-md, 8px);background:transparent;color:var(--text-tertiary, #9ca3af);font-size:13px;font-weight:500;cursor:pointer;transition:border-color .2s ease,color .2s ease}.visual-editor__add-btn:hover{border-color:var(--color-primary, #6366f1);color:var(--color-primary, #6366f1)}.visual-editor__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;text-align:center}.visual-editor__empty-icon{color:var(--text-tertiary, #9ca3af);opacity:.4;margin-bottom:16px}.visual-editor__empty-title{font-size:18px;font-weight:600;color:var(--text-primary, #111827);margin-bottom:8px}.visual-editor__empty-desc{font-size:14px;color:var(--text-secondary, #6b7280);margin-bottom:20px}.visual-editor__empty-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.visual-editor__empty-btn{padding:8px 16px;border:1.5px solid;border-radius:8px;background:transparent;font-size:13px;font-weight:500;cursor:pointer;transition:background .15s ease}.visual-editor__empty-btn:hover{background:var(--color-surface-secondary, #f9fafb)}@media (pointer: coarse){.btn,.sidebar__link,.tab,.mobile-tab-bar__item{min-height:44px;min-width:44px}.form-input,.form-select{min-height:44px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-reduced-transparency: reduce){.glass-panel,[class*=glass],[style*=backdrop-filter],[style*=-webkit-backdrop-filter]{background:var(--color-surface)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}.page--settings{max-width:800px}.settings-content{min-height:300px}.settings-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-5);transition:box-shadow var(--transition-fast)}.settings-section:hover{box-shadow:var(--shadow-sm)}.settings-section__header{margin-bottom:var(--space-5)}.settings-section__title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1)}.settings-section__subtitle{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:var(--space-4) 0 var(--space-3)}.settings-section__desc{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.settings-avatar{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);margin-bottom:var(--space-6);padding:var(--space-6);background:var(--color-accent-light);border:1px dashed var(--color-brand-200);border-radius:var(--radius-lg)}.settings-avatar__preview{position:relative;width:88px;height:88px;border-radius:var(--radius-full);overflow:hidden;box-shadow:var(--shadow-md)}.settings-avatar__img{width:100%;height:100%;object-fit:cover}.settings-avatar__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;color:#fff;font-size:var(--text-xs);border-radius:var(--radius-full)}.settings-avatar__hint{font-size:var(--text-xs);color:var(--text-tertiary);margin:0}.settings-form{max-width:480px}.form-actions{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-5)}.form-error{font-size:var(--text-sm);color:var(--color-error);padding:var(--space-2) var(--space-3);background:var(--color-error-bg);border-radius:var(--radius-md)}.settings-divider{border:none;border-top:1px solid var(--color-border);margin:var(--space-6) 0}.settings-toggle-list{display:flex;flex-direction:column;gap:var(--space-2)}.settings-toggle{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.settings-toggle:hover{border-color:var(--color-muted);background:var(--slate-50)}.settings-toggle__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.settings-toggle__label{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.settings-toggle__desc{font-size:var(--text-xs);color:var(--text-secondary)}.settings-toggle__checkbox{position:absolute;opacity:0;width:0;height:0}.settings-toggle__slider{position:relative;width:40px;height:22px;flex-shrink:0;background:var(--slate-300);border-radius:var(--radius-full);transition:background var(--transition-fast)}.settings-toggle__slider:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:var(--radius-full);transition:transform var(--transition-fast);box-shadow:0 1px 3px #00000026}.settings-toggle__checkbox:checked+.settings-toggle__slider{background:var(--color-accent)}.settings-toggle__checkbox:checked+.settings-toggle__slider:after{transform:translate(18px)}.settings-toggle__checkbox:disabled+.settings-toggle__slider{opacity:.5;cursor:not-allowed}.settings-toggle--inline{margin:0;padding:0;border:none;background:none}.settings-card{display:flex;align-items:center;justify-content:space-between;padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:box-shadow var(--transition-fast)}.settings-card:hover{box-shadow:var(--shadow-sm)}.settings-card__content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--space-4)}.settings-card__info{flex:1}.settings-card__title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-1)}.settings-card__desc{font-size:var(--text-xs);color:var(--text-secondary);margin:0}.settings-session-list{display:flex;flex-direction:column;gap:var(--space-2)}.settings-session-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.settings-session-item:hover{border-color:var(--color-muted);box-shadow:var(--shadow-sm)}.settings-session-item__icon{font-size:20px;flex-shrink:0;color:var(--text-secondary)}.settings-session-item__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.settings-session-item__name{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.settings-session-item__meta{font-size:var(--text-xs);color:var(--text-secondary)}.settings-empty{text-align:center;padding:var(--space-8);color:var(--text-tertiary);font-size:var(--text-sm)}.settings-theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.settings-theme-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-6) var(--space-3);background:var(--color-surface);border:2px solid var(--color-border);border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-fast);text-align:center;position:relative;font-family:var(--font-sans)}.settings-theme-card:hover{border-color:var(--color-muted);transform:translateY(-3px);box-shadow:var(--shadow-md)}.settings-theme-card--active{border-color:var(--color-accent);background:var(--color-accent-light)}.settings-theme-card__icon{font-size:28px;color:var(--text-secondary)}.settings-theme-card--active .settings-theme-card__icon{color:var(--color-accent)}.settings-theme-card__label{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.settings-theme-card__desc{font-size:var(--text-xs);color:var(--text-secondary);line-height:var(--leading-normal)}.settings-theme-card__check{position:absolute;top:var(--space-2);right:var(--space-2);width:24px;height:24px;background:var(--color-accent);color:#fff;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:14px}@media (max-width: 640px){.settings-theme-grid{grid-template-columns:1fr}.page--settings{max-width:100%}.settings-section{padding:var(--space-4)}}.dash-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:var(--space-6)}.dash-grid__item--12{grid-column:span 12}.dash-grid__item--6{grid-column:span 6}.dash-grid__item--4{grid-column:span 4}@media (min-width: 768px){.dash-grid__item--md-8{grid-column:span 8}.dash-grid__item--md-6{grid-column:span 6}.dash-grid__item--md-4{grid-column:span 4}}@media (min-width: 1024px){.dash-grid__item--lg-4{grid-column:span 4}.dash-grid__item--lg-8{grid-column:span 8}}@media (max-width: 767px){.dash-grid__item,.dash-grid__item--md-4,.dash-grid__item--md-6,.dash-grid__item--md-8,.dash-grid__item--lg-4,.dash-grid__item--lg-8,.dash-grid__item--6,.dash-grid__item--4{grid-column:span 12}}.card--award{background:linear-gradient(135deg,var(--color-brand-500) 0%,var(--color-brand-600) 100%);color:#fff;border:none;overflow:hidden}.award-card{position:relative;display:flex;flex-direction:column;gap:var(--space-3)}.award-card__greeting{font-size:var(--text-lg);font-weight:600;margin:0;color:#fffffff2}.award-card__subtitle{font-size:var(--text-sm);color:#ffffffb3;margin:4px 0 0}.award-card__stats{display:flex;flex-direction:column;gap:2px}.award-card__value{font-size:var(--text-2xl);font-weight:700;color:#fff;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.award-card__target{font-size:var(--text-xs);color:#fff9}.award-card__cta{align-self:flex-start;background:#ffffff26!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.award-card__cta:hover{background:#ffffff40!important}.award-card__trophy{position:absolute;right:16px;bottom:8px;color:#ffffff26;pointer-events:none}.txn-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4)}@media (min-width: 640px){.txn-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1024px){.txn-grid{grid-template-columns:repeat(3,1fr)}}.txn-item{display:flex;align-items:center;gap:var(--space-3)}.txn-item__avatar{width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.txn-item__avatar--primary{background:var(--color-brand-50);color:var(--color-brand-500)}.txn-item__avatar--success{background:var(--color-success-bg);color:var(--color-success)}.txn-item__avatar--warning{background:var(--color-warning-bg);color:var(--color-warning)}.txn-item__avatar--info{background:var(--color-info-bg);color:var(--color-info)}.txn-item__avatar--accent{background:var(--color-accent-light);color:var(--color-accent)}.txn-item__avatar--slate{background:var(--slate-100);color:var(--slate-600)}.txn-item__info{display:flex;flex-direction:column;gap:2px;min-width:0}.txn-item__label{font-size:var(--text-xs);color:var(--text-secondary)}.txn-item__value{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.pagination{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-3) 0}.pagination__info{font-size:var(--text-sm);color:var(--text-secondary);min-width:100px;text-align:center}.perm-grid{display:flex;flex-direction:column;gap:var(--space-3);max-height:70vh;overflow-y:auto;padding:var(--space-1) 0}.perm-grid__banner{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);background:var(--color-accent-light);border-radius:var(--radius-md);flex-wrap:wrap;gap:var(--space-2)}.perm-grid__role-info{display:flex;align-items:center;gap:var(--space-2)}.perm-grid__role-label{font-size:var(--text-xs);color:var(--text-tertiary)}.perm-grid__layer-hint{display:flex;align-items:center;gap:6px;font-size:12px}.perm-grid__layer-arrow{color:var(--color-accent);font-weight:500}.perm-grid__layer-plus{color:var(--text-tertiary);font-weight:300}.perm-grid__layer-override{color:var(--color-warning-600);font-weight:600}.perm-grid__layer-eq{color:var(--text-tertiary);font-weight:300}.perm-grid__layer-result{color:var(--text-primary);font-weight:600}.perm-grid__legend{display:flex;align-items:center;gap:var(--space-3);font-size:11px;padding:0 var(--space-1);flex-wrap:wrap}.perm-grid__legend-item{padding:2px 8px;border-radius:var(--radius-sm)}.perm-grid__modules{display:flex;flex-direction:column;gap:var(--space-2)}.perm-grid__module{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.perm-grid__module-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--color-bg);-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.perm-grid__module-header:hover{background:var(--color-accent-light)}.perm-grid__module-arrow{font-size:10px;color:var(--text-tertiary);width:12px;flex-shrink:0;cursor:pointer;padding:4px 0}.perm-grid__module-checkbox{display:flex;align-items:center;cursor:pointer}.perm-grid__module-checkbox input[type=checkbox]{width:15px;height:15px;cursor:pointer}.perm-grid__module-name{font-size:var(--text-sm);font-weight:600;flex:1;cursor:pointer}.perm-grid__module-stats{font-size:11px;color:var(--text-tertiary);cursor:pointer}.perm-grid__table-wrap{overflow-x:auto}.perm-grid__table{width:100%;border-collapse:collapse}.perm-grid__table th,.perm-grid__table td{padding:0;text-align:center;border-bottom:1px solid var(--color-border-light)}.perm-grid__th-res{width:40%;text-align:left;padding:var(--space-1) var(--space-3)!important;font-size:var(--text-xs);color:var(--text-tertiary);font-weight:500}.perm-grid__th-act{width:30%;padding:var(--space-1) 0!important;font-size:var(--text-xs);color:var(--text-tertiary);font-weight:500}.perm-grid__td-res{text-align:left;padding:var(--space-1) var(--space-3)!important;font-size:var(--text-xs);color:var(--text-primary);white-space:nowrap}.perm-grid__td-cb{padding:6px 0!important}.perm-grid__cb{display:inline-flex;align-items:center;justify-content:center;gap:3px;cursor:pointer;padding:4px 10px;border-radius:var(--radius-sm);transition:all var(--transition-fast);min-width:48px}.perm-grid__cb:hover{background:var(--color-accent-light)}.perm-grid__cb input[type=checkbox]{width:15px;height:15px;cursor:pointer;margin:0}.perm-grid__cb-badge{font-size:10px;font-weight:700;line-height:1}.perm-grid__cb--granted{background:#d4edda}.perm-grid__cb--granted .perm-grid__cb-badge{color:#28a745}.perm-grid__cb--revoked{background:#f8d7da}.perm-grid__cb--revoked .perm-grid__cb-badge{color:#dc3545}.perm-grid__cb--inherited{background:var(--color-accent-light)}.perm-grid__table tr:last-child td{border-bottom:none}.perm-grid__footer{display:flex;align-items:center;justify-content:space-between}.toggle{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle__track{position:relative;width:40px;height:22px;background:var(--slate-300);border-radius:var(--radius-full);transition:background var(--transition-fast)}.toggle--on .toggle__track{background:var(--color-accent)}.toggle--off .toggle__track{background:var(--slate-300)}.toggle__thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;background:#fff;border-radius:var(--radius-full);transition:transform var(--transition-fast);box-shadow:0 1px 3px #00000026}.toggle--on .toggle__thumb{transform:translate(18px)}.toggle--off .toggle__thumb{transform:translate(0)}.tr--expanded{background:var(--color-accent-light)}.tr--expanded td{border-bottom-color:transparent}.perm-status--inherited{background:transparent}.perm-status--granted{background:var(--color-success-bg)}.perm-status--revoked{background:var(--color-error-bg)}.page__loading{display:flex;align-items:center;justify-content:center;padding:var(--space-12);color:var(--text-secondary);font-size:var(--text-sm)}.page--access-denied{display:flex;align-items:center;justify-content:center;min-height:60vh}.page__error{display:none}.error-alert{border-radius:var(--radius-md, 6px);font-size:var(--text-sm, 13px);line-height:1.5}.error-alert--page{display:block;padding:var(--space-3, 12px) var(--space-4, 16px);background:#fef2f2;color:#991b1b;border:1px solid #fecaca;margin-bottom:var(--space-3, 12px)}.error-alert--inline{display:flex;align-items:flex-start;gap:6px;padding:8px 12px;background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:var(--radius-md, 6px);margin-bottom:var(--space-2, 8px)}.stats-row{display:flex;align-items:center;gap:16px;margin-top:6px;flex-wrap:wrap}.stats-row__item{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);white-space:nowrap}.stats-row__item strong{font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.stats-row__divider{width:1px;height:12px;background:var(--border-default);flex-shrink:0}.asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}.asset-card{display:flex;flex-direction:column;background:var(--bg-card, #fff);border:1px solid var(--border-default);border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:box-shadow var(--transition-fast),transform var(--transition-fast)}.asset-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.asset-card--skeleton{cursor:default;pointer-events:none}.asset-card__thumb{position:relative;width:100%;height:160px;overflow:hidden;background:var(--slate-50);display:flex;align-items:center;justify-content:center;flex-shrink:0}.asset-card__thumb img{width:100%;height:100%;object-fit:cover}.asset-card__thumb-icon{font-size:36px;color:var(--text-tertiary);opacity:.6}.asset-card__info{flex:1;padding:12px;display:flex;flex-direction:column;gap:4px;min-width:0}.asset-card__name{font-size:13px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:2px}.asset-card__meta{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-tertiary)}.asset-card__dot{color:var(--border-default)}.asset-card__desc{font-size:11px;color:var(--text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:2px}.asset-card__footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:6px}.asset-card__date{font-size:10px;color:var(--text-tertiary);font-family:var(--font-mono);font-variant-numeric:tabular-nums}.asset-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:4px;padding:0 12px 10px}.asset-card__review-btns{display:inline-flex;gap:4px;margin-right:auto}.asset-card{position:relative}.asset-card--selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary)}.asset-card__thumb-check{position:absolute;top:8px;right:8px;width:22px;height:22px;cursor:pointer;z-index:2;border-radius:50%;display:flex;align-items:center;justify-content:center;opacity:.5;transition:opacity .15s,transform .15s;pointer-events:auto}.asset-card:hover .asset-card__thumb-check{opacity:1}.asset-card:hover .asset-card__thumb-check,.asset-card__thumb-check--checked{opacity:1;transform:scale(1)}.asset-card__thumb-check--checked{opacity:1;width:24px;height:24px}.asset-card__thumb-check:hover,.asset-card__thumb-check--checked:hover{transform:scale(1.15)}.table .asset-listview-action{white-space:nowrap}.page--assets .page__header{margin-bottom:12px}.page--assets .tabs{margin-bottom:16px}.page--assets .page__layout{display:flex;gap:0;min-height:calc(100vh - 200px)}.page--assets .page__sidebar{width:220px;min-width:220px;border-right:1px solid var(--color-border);padding-right:16px;overflow-y:auto}.page--assets .page__content{flex:1;min-width:0;padding-left:16px}.category-tree{font-size:var(--text-sm)}.category-tree__header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--color-border);margin-bottom:4px}.category-tree__title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted)}.category-tree__add-btn{width:22px;height:22px;border:none;background:var(--color-accent-light);color:var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;font-size:16px;line-height:1;display:flex;align-items:center;justify-content:center;transition:background .2s}.category-tree__add-btn:hover{background:var(--color-brand-200)}.category-tree__item{display:flex;align-items:center;gap:6px;padding:6px 12px;cursor:pointer;border-radius:var(--radius-sm);transition:background .15s;-webkit-user-select:none;user-select:none;position:relative}.category-tree__item:hover{background:var(--slate-100)}.category-tree__item--active{background:var(--color-accent-light);color:var(--color-accent);font-weight:500}.category-tree__item--active:hover{background:var(--color-accent-light)}.category-tree__item--dragging{opacity:.5}.category-tree__item--drag-over{border-top:2px solid var(--color-accent)}.category-tree__item-icon{font-size:14px;width:20px;text-align:center}.category-tree__item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.category-tree__item-count{font-size:var(--text-xs);color:var(--text-muted);min-width:16px;text-align:right}.category-tree__item-menu{width:18px;height:18px;border:none;background:transparent;cursor:pointer;font-size:14px;line-height:1;opacity:0;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:opacity .15s}.category-tree__item:hover .category-tree__item-menu{opacity:1}.category-tree__item-menu:hover{background:var(--slate-200)}.category-tree__menu{position:absolute;right:0;top:100%;background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:0 4px 12px #0000001a;z-index:100;min-width:80px;overflow:hidden}.category-tree__menu-item{display:block;width:100%;padding:6px 12px;border:none;background:transparent;cursor:pointer;font-size:var(--text-xs);text-align:left;transition:background .15s}.category-tree__menu-item:hover{background:var(--slate-100)}.category-tree__menu-item--danger{color:var(--color-error)}.category-tree__edit-form{padding:4px 12px 8px}.tag-cloud{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}.tag-cloud__tag{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:12px;cursor:pointer;transition:all .2s;border:1px solid var(--color-border);background:var(--slate-50);-webkit-user-select:none;user-select:none}.tag-cloud__tag:hover{border-color:var(--color-accent);background:var(--color-accent-light)}.tag-cloud__tag--selected{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.tag-cloud__tag-name{font-size:var(--text-xs)}.tag-cloud__tag-count{font-size:10px;opacity:.7}.tag-input{display:flex;flex-wrap:wrap;gap:4px;padding:4px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);min-height:32px;align-items:center}.tag-input__tag{display:inline-flex;align-items:center;gap:2px;padding:1px 8px;background:var(--color-accent-light);color:var(--color-accent);border-radius:10px;font-size:var(--text-xs);line-height:1.6}.tag-input__remove{cursor:pointer;font-size:12px;opacity:.7;border:none;background:transparent;padding:0;color:inherit}.tag-input__remove:hover{opacity:1}.tag-input__field{border:none;outline:none;flex:1;min-width:60px;font-size:var(--text-xs);padding:2px 0;background:transparent}.skeleton{background:linear-gradient(90deg,var(--slate-100) 25%,var(--slate-200) 50%,var(--slate-100) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:var(--radius-sm)}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes shake{0%{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(3px)}to{transform:translate(0)}}@keyframes slide-out-left{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes slide-in-right{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes slide-out-right{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}@keyframes slide-in-left{0%{transform:translate(-100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-spinner{display:inline-block;width:1em;height:1em;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle}.spring-in-up--fast{animation:spring-in-up .3s var(--spring-soft) both}.shake-soft{animation:shake .3s var(--spring-soft)}@keyframes fadeUpIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1)}}.typing-dot{width:6px;height:6px;border-radius:50%;background:var(--color-muted)}.conversation-item{transition:all .2s ease}.conversation-item:hover{background:var(--color-accent-light)}.message-bubble{animation:fadeUpIn .4s cubic-bezier(.16,1,.3,1) both}.chatwoot-toast{animation:fadeUpIn .3s cubic-bezier(.16,1,.3,1) both}.channel-card{animation:fadeUpIn .4s cubic-bezier(.16,1,.3,1) both}.switch{position:relative;display:inline-block;width:36px;height:20px}.switch input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background:var(--color-border);border-radius:20px;transition:background .2s ease}.switch-slider:before{content:"";position:absolute;width:16px;height:16px;left:2px;bottom:2px;background:#fff;border-radius:50%;transition:transform .2s ease}.switch input:checked+.switch-slider{background:var(--color-accent)}.switch input:checked+.switch-slider:before{transform:translate(16px)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.conversation-item{animation:none!important;transition:none!important}.typing-dot{animation:none!important;opacity:.5}.shimmer{animation:none!important;background:var(--color-skeleton, #e2e8f0)}}.send-box__error{color:var(--color-danger);font-size:13px;padding:6px 12px}.message-bubble__attachments{gap:8px;line-height:0}.conversation-picker__item:hover{background:var(--bg-subtle)}.conversation-picker__item--active{background:var(--color-primary-50, rgba(99, 102, 241, .08))}.select:not(select){position:relative;width:100%;min-height:34px;font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-title);outline:none}.select--disabled{opacity:.6;cursor:not-allowed}.select__trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:34px;padding:var(--space-1\.5) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1)}.select--open .select__trigger,.select__trigger:hover{border-color:var(--color-muted)}.select--open .select__trigger{box-shadow:0 0 0 3px var(--color-accent-light)}.select__value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-title)}.select__placeholder{color:var(--color-muted)}.select__actions{display:flex;align-items:center;gap:var(--space-1);flex-shrink:0}.select__clear{border:none;background:transparent;color:var(--color-muted);font-size:var(--text-sm);line-height:1;padding:2px 4px;cursor:pointer;border-radius:var(--radius-sm)}.select__clear:hover{color:var(--color-error);background:var(--color-error-bg)}.select__arrow{color:var(--color-muted);font-size:var(--text-xs);transition:transform var(--transition-fast)}.select__arrow--open{transform:rotate(180deg)}.select__dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:var(--z-dropdown);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:240px;display:flex;flex-direction:column;overflow:hidden}.select__search{padding:var(--space-2);border-bottom:1px solid var(--color-border-light)}.select__search-input{width:100%;min-height:30px;padding:var(--space-1) var(--space-2\.5);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-title);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none}.select__search-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-light)}.select__list{overflow-y:auto;max-height:200px;padding:var(--space-1)}.select__option{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1\.5) var(--space-2\.5);font-size:var(--text-sm);color:var(--color-title);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.select__option:hover,.select__option--highlight{background:var(--slate-100)}.select__option--selected{color:var(--color-accent);font-weight:500}.select__checkbox{accent-color:var(--color-accent)}.select__chip{display:inline-flex;align-items:center;gap:var(--space-1);padding:2px 6px;margin:1px 4px 1px 0;font-size:var(--text-xs);background:var(--slate-100);border:1px solid var(--color-border-light);border-radius:var(--radius-full);color:var(--color-title)}.select__chip-remove{cursor:pointer;color:var(--color-muted)}.select__chip-remove:hover{color:var(--color-error)}.select__empty{padding:var(--space-3) var(--space-2);text-align:center;font-size:var(--text-xs);color:var(--color-muted)}.detail__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem 1.5rem}.detail__field{min-width:0;padding:.125rem 0}.detail__label{display:block;font-size:var(--text-xs);font-weight:500;color:var(--color-muted);margin-bottom:.25rem;letter-spacing:.01em}.detail__value{display:inline-block;font-size:var(--text-sm);color:var(--color-title);line-height:var(--leading-normal);word-break:break-word;white-space:normal}.detail__field .badge{vertical-align:middle}.ad-top-bar{height:3px;width:100%;position:fixed;top:0;left:0;z-index:calc(var(--z-sidebar) + 1);background:linear-gradient(90deg,#1877f2,#ea4335,#00f2ea,#0a66c2,#06c755,#e60023,#fffc00,#ff4500,#0068ff 88%)}.ad-page{padding:var(--space-6) var(--space-8);max-width:1440px;margin:0 auto}.ad-page--wide{max-width:1600px}.ad-subnav{display:flex;gap:4px;margin:var(--space-5) 0 var(--space-6);padding:4px;background:var(--slate-100);border-radius:10px;width:fit-content}.ad-subnav__link{padding:6px 14px;border-radius:7px;font-size:13px;font-weight:500;text-decoration:none;color:var(--slate-500);transition:all .15s ease}.ad-subnav__link:hover{color:var(--slate-700);background:var(--slate-200)}.ad-subnav__link--active{background:#fff;color:var(--color-brand-600);font-weight:600;box-shadow:0 1px 2px #0000000f}.ad-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.ad-chart-row{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:var(--space-6);margin-bottom:var(--space-8)}.ad-chart-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-lg);padding:var(--space-5)}.ad-chart-card__title{font-size:var(--text-sm);font-weight:600;color:var(--slate-700);margin-bottom:var(--space-4)}.ad-platform-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:var(--space-3);margin-bottom:var(--space-8)}.ad-platform-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4) var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md);transition:border-color .15s ease}.ad-platform-card:hover{border-color:var(--color-accent)}.ad-platform-card__name{font-size:var(--text-xs);font-weight:600;color:var(--slate-700)}.ad-platform-card__status{font-size:11px}.ad-filters{display:flex;gap:var(--space-3);align-items:center;margin:var(--space-5) 0 var(--space-4);padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-md)}.ad-filters select{padding:6px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:13px;background:var(--color-surface);color:var(--slate-700);cursor:pointer}.ad-table{width:100%;border-collapse:separate;border-spacing:0}.ad-table th{padding:10px var(--space-3);font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--slate-400);border-bottom:1px solid var(--color-border-light);text-align:left;white-space:nowrap}.ad-table td{padding:var(--space-3);font-size:var(--text-sm);color:var(--slate-700);border-bottom:1px solid var(--color-border-light)}.ad-table tbody tr{transition:background .1s ease}.ad-table tbody tr:hover{background:var(--slate-50)}.ad-table tbody tr:last-child td{border-bottom:none}.ad-row-actions{display:flex;gap:4px;align-items:center}.ad-row-actions .btn{font-size:12px;padding:4px 10px}.ad-rec-card{padding:var(--space-4);border:1px solid var(--color-border-light);border-radius:var(--radius-md);background:var(--color-surface)}.ad-rec-card:hover{border-color:var(--color-accent)}.ad-rec-card__header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2)}.ad-rec-card__title{font-size:var(--text-base);font-weight:600;color:var(--color-title)}.ad-rec-card__desc{font-size:var(--text-sm);color:var(--color-muted);line-height:1.6}.ad-rec-card__actions{display:flex;gap:var(--space-2);margin-top:var(--space-3)}.ad-page-title{font-size:24px;font-weight:700;color:var(--color-title);letter-spacing:-.02em;margin:0}.ad-page-subtitle{font-size:var(--text-sm);color:var(--color-muted);margin-top:4px}.ad-page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.ad-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-4);text-align:center;color:var(--color-muted);background:var(--color-surface);border-radius:var(--radius-lg);border:1px dashed var(--color-border)}.ad-empty__icon{font-size:40px;margin-bottom:var(--space-3);opacity:.6}.ad-empty__title{font-size:var(--text-base);font-weight:600;color:var(--slate-500);margin-bottom:4px}.ad-empty__desc{font-size:var(--text-sm);color:var(--color-muted)}.ad-platform-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:4px;font-size:11px;font-weight:600}.ad-platform-badge--meta{background:#ebf5ff;color:#1877f2}.ad-platform-badge--google{background:#fce8e6;color:#ea4335}.ad-platform-badge--tiktok{background:#e0f7f7;color:#00a6a6}.ad-platform-badge--linkedin{background:#e8f0fe;color:#0a66c2}.ad-platform-badge--line{background:#e6f9e6;color:#06c755}.ad-platform-badge--pinterest{background:#fde8ec;color:#e60023}.ad-platform-badge--snapchat{background:#fffde0;color:#f4b400}.ad-platform-badge--reddit{background:#fff0e8;color:#ff4500}.ad-platform-badge--zalo{background:#e8f0ff;color:#0068ff}.ad-platform-badge--other{background:var(--slate-100);color:var(--slate-500)}.ad-detail-section{margin-bottom:var(--space-8)}.ad-detail-section__title{font-size:var(--text-lg);font-weight:600;color:var(--color-title);margin-bottom:var(--space-4)}.ad-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.ad-form{display:flex;flex-direction:column;gap:var(--space-4);min-width:480px;max-width:560px}.ad-form input,.ad-form select,.ad-form textarea{width:100%;padding:8px 10px;font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}@media (max-width: 1024px){.ad-stat-grid{grid-template-columns:repeat(2,1fr)}.ad-chart-row,.ad-detail-grid{grid-template-columns:1fr}.ad-page{padding:var(--space-4)}}@media (max-width: 640px){.ad-stat-grid{grid-template-columns:1fr}.ad-platform-grid{grid-template-columns:repeat(3,1fr)}.ad-subnav{flex-wrap:wrap}}
