:root{--color-primary-50:#e6f7ff;--color-primary-100:#bae7ff;--color-primary-200:#91d5ff;--color-primary-300:#69c0ff;--color-primary-400:#40a9ff;--color-primary-500:#1890ff;--color-primary-600:#096dd9;--color-primary-700:#0050b3;--color-primary-800:#003a8c;--color-primary-900:#002766;--color-success-50:#f6ffed;--color-success-500:#52c41a;--color-success-600:#389e0d;--color-warning-50:#fffbe6;--color-warning-500:#faad14;--color-warning-600:#d48806;--color-danger-50:#fff1f0;--color-danger-500:#ff4d4f;--color-danger-600:#cf1322;--color-info-500:#13c2c2;--color-purple-500:#722ed1;--color-magenta-500:#eb2f96;--color-gray-50:#fafafa;--color-gray-100:#f5f5f5;--color-gray-200:#f0f0f0;--color-gray-300:#e8e8e8;--color-gray-400:#d9d9d9;--color-gray-500:#8c8c8c;--color-gray-600:#595959;--color-gray-700:#434343;--color-gray-800:#262626;--color-gray-900:#1f1f1f;--color-primary:var(--color-primary-500);--color-primary-soft:var(--color-primary-50);--color-primary-bright:var(--color-primary-400);--color-primary-tint:#f0f9ff;--color-accent:var(--color-warning-500);--color-danger:var(--color-danger-500);--color-danger-soft:var(--color-danger-50);--color-success:var(--color-success-500);--color-surface:#fff;--color-surface-muted:var(--color-gray-50);--color-border:var(--color-gray-200);--color-border-strong:var(--color-gray-400);--color-border-light:var(--color-gray-300);--color-background:var(--color-gray-100);--color-text-strong:var(--color-gray-800);--color-text-base:#000000e0;--color-text-secondary:#000000a6;--color-text-muted:var(--color-gray-500);--color-text-quaternary:#00000040;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:32px;--font-size-4xl:40px;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.3;--line-height-normal:1.5;--line-height-relaxed:1.8;--spacing-0:0;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-7:28px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--spacing-16:64px;--spacing-20:80px;--shadow-xs:0 1px 2px #00000008;--shadow-sm:0 2px 4px #0000000f;--shadow-md:0 4px 8px #00000014;--shadow-lg:0 8px 16px #0000001f;--shadow-xl:0 12px 24px #00000029;--shadow-2xl:0 24px 48px #0003;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:24px;--radius-full:9999px;--duration-instant:.1s;--duration-fast:.2s;--duration-normal:.3s;--duration-slow:.5s;--duration-slower:.7s;--easing-standard:cubic-bezier(.4, 0, .2, 1);--easing-decelerate:cubic-bezier(0, 0, .2, 1);--easing-accelerate:cubic-bezier(.4, 0, 1, 1);--easing-sharp:cubic-bezier(.4, 0, .6, 1);--layout-content-padding:24px;--layout-radius:12px;--sidebar-width:220px;--sidebar-collapsed-width:80px;--header-height:64px;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-notification:1080;--button-primary-bg:var(--color-primary-500);--button-primary-hover-bg:var(--color-primary-600);--button-primary-active-bg:var(--color-primary-700);--button-primary-text:#fff;--button-danger-bg:var(--color-danger-500);--button-danger-hover-bg:var(--color-danger-600);--button-danger-text:#fff;--button-default-border:var(--color-border-strong);--button-padding-sm:var(--spacing-1) var(--spacing-3);--button-padding-md:var(--spacing-2) var(--spacing-4);--button-padding-lg:var(--spacing-3) var(--spacing-6);--card-bg:var(--color-surface);--card-border:var(--color-border);--card-shadow:var(--shadow-sm);--card-shadow-hover:var(--shadow-md);--card-radius:var(--layout-radius);--card-padding:var(--spacing-6);--card-header-border:var(--color-border);--modal-bg:var(--color-surface);--modal-shadow:var(--shadow-2xl);--modal-radius:var(--radius-xl);--modal-backdrop-bg:#00000073;--modal-header-color:var(--color-text-strong);--modal-header-bg:transparent;--modal-body-bg:var(--color-surface);--modal-footer-border:var(--color-border);--table-bg:var(--color-surface);--table-header-bg:var(--color-surface-muted);--table-row-hover-bg:var(--color-primary-tint);--table-border:var(--color-border);--table-cell-padding:var(--spacing-3) var(--spacing-4);--input-bg:var(--color-surface);--input-border:var(--color-border-strong);--input-focus-border:var(--color-primary);--input-focus-shadow:0 0 0 2px var(--color-primary-soft);--input-disabled-bg:var(--color-surface-muted);--input-error-border:var(--color-danger);--input-error-shadow:0 0 0 2px var(--color-danger-soft);--badge-radius:var(--radius-sm);--badge-padding:var(--spacing-1) var(--spacing-2);--badge-font-size:var(--font-size-xs);--alert-radius:var(--radius-md);--alert-padding:var(--spacing-3) var(--spacing-4);--alert-border-width:1px;--stat-value-color-primary:var(--color-primary);--stat-value-color-danger:var(--color-danger);--stat-value-color-success:var(--color-success);--stat-value-color-warning:var(--color-warning);--stat-value-font-size-sm:16px;--stat-value-font-size-md:20px;--stat-value-font-size-lg:24px;--stat-value-font-weight:700;--stat-title-color:var(--color-text-secondary);--stat-title-font-size:var(--font-size-sm);--icon-color-primary:var(--color-primary);--icon-color-success:var(--color-success);--icon-color-warning:var(--color-warning);--icon-color-danger:var(--color-danger);--icon-margin-right:8px;--spacing-mobile-multiplier:.75;--spacing-tablet-multiplier:.875}[data-theme=dark]{--color-primary:#1890ff;--color-primary-soft:#111b26;--color-primary-bright:#40a9ff;--color-primary-tint:#0d1117;--color-surface:#141414;--color-surface-muted:#1f1f1f;--color-border:#303030;--color-border-strong:#434343;--color-border-light:#262626;--color-background:#000;--color-text-strong:#ffffffd9;--color-text-base:#ffffffd9;--color-text-secondary:#ffffffa6;--color-text-muted:#ffffff73;--color-text-quaternary:#ffffff40;--color-danger-soft:#2a1215;--shadow-xs:0 1px 2px #0003;--shadow-sm:0 2px 4px #0000004d;--shadow-md:0 4px 8px #0006;--shadow-lg:0 8px 16px #00000080;--shadow-xl:0 12px 24px #0009;--shadow-2xl:0 24px 48px #000000b3}h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-strong);margin:0 0 var(--spacing-4) 0}h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-strong);margin:0 0 var(--spacing-3) 0}h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-strong);margin:0 0 var(--spacing-3) 0}h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-strong);margin:0 0 var(--spacing-2) 0}h5{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-strong);margin:0 0 var(--spacing-2) 0}h6{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-strong);margin:0 0 var(--spacing-2) 0}.heading-1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-strong)}.heading-2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-strong)}.heading-3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal);color:var(--color-text-strong)}.heading-4{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-strong)}.heading-5{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-strong)}.heading-6{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);color:var(--color-text-strong)}p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-base);margin:0 0 var(--spacing-4) 0}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-normal)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.text-base{font-size:var(--font-size-base);line-height:var(--line-height-relaxed)}.text-lg{font-size:var(--font-size-lg);line-height:var(--line-height-normal)}.text-xl{font-size:var(--font-size-xl);line-height:var(--line-height-normal)}.text-2xl{font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.text-3xl{font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}.text-4xl{font-size:var(--font-size-4xl);line-height:var(--line-height-tight)}.font-regular{font-weight:var(--font-weight-regular)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-strong{color:var(--color-text-strong)}.text-primary{color:var(--color-text-base)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-quaternary{color:var(--color-text-quaternary)}.text-primary-color{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-danger{color:var(--color-danger)}.text-info{color:var(--color-info-500)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-justify{text-align:justify}.leading-tight{line-height:var(--line-height-tight)}.leading-normal{line-height:var(--line-height-normal)}.leading-relaxed{line-height:var(--line-height-relaxed)}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.normal-case{text-transform:none}.underline{text-decoration:underline}.line-through{text-decoration:line-through}.no-underline{text-decoration:none}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.line-clamp-1{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}a{color:var(--color-primary);transition:color var(--duration-fast) var(--easing-standard);text-decoration:none}a:hover{color:var(--color-primary-600);text-decoration:underline}a:active{color:var(--color-primary-700)}.link-muted{color:var(--color-text-secondary)}.link-muted:hover{color:var(--color-primary)}code{padding:var(--spacing-1) var(--spacing-2);background:var(--color-surface-muted);border-radius:var(--radius-sm);color:var(--color-text-strong);font-family:Fira Code,Courier New,monospace;font-size:.9em}pre{padding:var(--spacing-4);background:var(--color-surface-muted);border-radius:var(--radius-md);font-family:Fira Code,Courier New,monospace;line-height:var(--line-height-relaxed);overflow-x:auto}pre code{background:0 0;padding:0}blockquote{margin:var(--spacing-4) 0;padding-left:var(--spacing-4);border-left:4px solid var(--color-primary);color:var(--color-text-secondary);font-style:italic}ul,ol{margin:0 0 var(--spacing-4) 0;padding-left:var(--spacing-6);line-height:var(--line-height-relaxed)}li{margin-bottom:var(--spacing-1)}.list-none{padding-left:0;list-style:none}@media (width<=768px){h1,.heading-1{font-size:var(--font-size-2xl)}h2,.heading-2{font-size:var(--font-size-xl)}h3,.heading-3{font-size:var(--font-size-lg)}}.container{max-width:1200px;padding:0 var(--spacing-4);width:100%;margin:0 auto}.container-fluid{width:100%;padding:0 var(--spacing-4)}.container-sm{max-width:640px;padding:0 var(--spacing-4);margin:0 auto}.container-md{max-width:768px;padding:0 var(--spacing-4);margin:0 auto}.container-lg{max-width:1024px;padding:0 var(--spacing-4);margin:0 auto}.container-xl{max-width:1280px;padding:0 var(--spacing-4);margin:0 auto}.m-0{margin:var(--spacing-0)}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-5{margin:var(--spacing-5)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.m-10{margin:var(--spacing-10)}.m-12{margin:var(--spacing-12)}.mt-0{margin-top:var(--spacing-0)}.mt-1{margin-top:var(--spacing-1)}.mt-2{margin-top:var(--spacing-2)}.mt-3{margin-top:var(--spacing-3)}.mt-4{margin-top:var(--spacing-4)}.mt-5{margin-top:var(--spacing-5)}.mt-6{margin-top:var(--spacing-6)}.mt-8{margin-top:var(--spacing-8)}.mt-10{margin-top:var(--spacing-10)}.mt-12{margin-top:var(--spacing-12)}.mb-0{margin-bottom:var(--spacing-0)}.mb-1{margin-bottom:var(--spacing-1)}.mb-2{margin-bottom:var(--spacing-2)}.mb-3{margin-bottom:var(--spacing-3)}.mb-4{margin-bottom:var(--spacing-4)}.mb-5{margin-bottom:var(--spacing-5)}.mb-6{margin-bottom:var(--spacing-6)}.mb-8{margin-bottom:var(--spacing-8)}.mb-10{margin-bottom:var(--spacing-10)}.mb-12{margin-bottom:var(--spacing-12)}.ml-0{margin-left:var(--spacing-0)}.ml-1{margin-left:var(--spacing-1)}.ml-2{margin-left:var(--spacing-2)}.ml-3{margin-left:var(--spacing-3)}.ml-4{margin-left:var(--spacing-4)}.ml-5{margin-left:var(--spacing-5)}.ml-6{margin-left:var(--spacing-6)}.ml-8{margin-left:var(--spacing-8)}.mr-0{margin-right:var(--spacing-0)}.mr-1{margin-right:var(--spacing-1)}.mr-2{margin-right:var(--spacing-2)}.mr-3{margin-right:var(--spacing-3)}.mr-4{margin-right:var(--spacing-4)}.mr-5{margin-right:var(--spacing-5)}.mr-6{margin-right:var(--spacing-6)}.mr-8{margin-right:var(--spacing-8)}.mx-0{margin-left:var(--spacing-0);margin-right:var(--spacing-0)}.mx-1{margin-left:var(--spacing-1);margin-right:var(--spacing-1)}.mx-2{margin-left:var(--spacing-2);margin-right:var(--spacing-2)}.mx-3{margin-left:var(--spacing-3);margin-right:var(--spacing-3)}.mx-4{margin-left:var(--spacing-4);margin-right:var(--spacing-4)}.mx-6{margin-left:var(--spacing-6);margin-right:var(--spacing-6)}.mx-8{margin-left:var(--spacing-8);margin-right:var(--spacing-8)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-top:var(--spacing-0);margin-bottom:var(--spacing-0)}.my-1{margin-top:var(--spacing-1);margin-bottom:var(--spacing-1)}.my-2{margin-top:var(--spacing-2);margin-bottom:var(--spacing-2)}.my-3{margin-top:var(--spacing-3);margin-bottom:var(--spacing-3)}.my-4{margin-top:var(--spacing-4);margin-bottom:var(--spacing-4)}.my-6{margin-top:var(--spacing-6);margin-bottom:var(--spacing-6)}.my-8{margin-top:var(--spacing-8);margin-bottom:var(--spacing-8)}.p-0{padding:var(--spacing-0)}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.p-10{padding:var(--spacing-10)}.p-12{padding:var(--spacing-12)}.pt-0{padding-top:var(--spacing-0)}.pt-1{padding-top:var(--spacing-1)}.pt-2{padding-top:var(--spacing-2)}.pt-3{padding-top:var(--spacing-3)}.pt-4{padding-top:var(--spacing-4)}.pt-5{padding-top:var(--spacing-5)}.pt-6{padding-top:var(--spacing-6)}.pt-8{padding-top:var(--spacing-8)}.pb-0{padding-bottom:var(--spacing-0)}.pb-1{padding-bottom:var(--spacing-1)}.pb-2{padding-bottom:var(--spacing-2)}.pb-3{padding-bottom:var(--spacing-3)}.pb-4{padding-bottom:var(--spacing-4)}.pb-5{padding-bottom:var(--spacing-5)}.pb-6{padding-bottom:var(--spacing-6)}.pb-8{padding-bottom:var(--spacing-8)}.pl-0{padding-left:var(--spacing-0)}.pl-1{padding-left:var(--spacing-1)}.pl-2{padding-left:var(--spacing-2)}.pl-3{padding-left:var(--spacing-3)}.pl-4{padding-left:var(--spacing-4)}.pl-6{padding-left:var(--spacing-6)}.pl-8{padding-left:var(--spacing-8)}.pr-0{padding-right:var(--spacing-0)}.pr-1{padding-right:var(--spacing-1)}.pr-2{padding-right:var(--spacing-2)}.pr-3{padding-right:var(--spacing-3)}.pr-4{padding-right:var(--spacing-4)}.pr-6{padding-right:var(--spacing-6)}.pr-8{padding-right:var(--spacing-8)}.px-0{padding-left:var(--spacing-0);padding-right:var(--spacing-0)}.px-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.py-0{padding-top:var(--spacing-0);padding-bottom:var(--spacing-0)}.py-1{padding-top:var(--spacing-1);padding-bottom:var(--spacing-1)}.py-2{padding-top:var(--spacing-2);padding-bottom:var(--spacing-2)}.py-3{padding-top:var(--spacing-3);padding-bottom:var(--spacing-3)}.py-4{padding-top:var(--spacing-4);padding-bottom:var(--spacing-4)}.py-6{padding-top:var(--spacing-6);padding-bottom:var(--spacing-6)}.py-8{padding-top:var(--spacing-8);padding-bottom:var(--spacing-8)}.flex{display:flex}.inline-flex{display:inline-flex}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.self-start{align-self:flex-start}.self-end{align-self:flex-end}.self-center{align-self:center}.self-stretch{align-self:stretch}.flex-1{flex:1}.flex-auto{flex:auto}.flex-none{flex:none}.grow{flex-grow:1}.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.gap-0{gap:var(--spacing-0)}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.grid{display:grid}.inline-grid{display:inline-grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.grid-gap-0{gap:var(--spacing-0)}.grid-gap-1{gap:var(--spacing-1)}.grid-gap-2{gap:var(--spacing-2)}.grid-gap-3{gap:var(--spacing-3)}.grid-gap-4{gap:var(--spacing-4)}.grid-gap-5{gap:var(--spacing-5)}.grid-gap-6{gap:var(--spacing-6)}.grid-gap-8{gap:var(--spacing-8)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.w-full{width:100%}.h-full{height:100%}.w-auto{width:auto}.h-auto{height:auto}.min-h-screen{min-height:100vh}.max-w-full{max-width:100%}@media (width<=767px){.container{padding:0 var(--spacing-3)}.grid-cols-2,.grid-cols-3,.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:repeat(1,minmax(0,1fr))}.mobile-hidden{display:none}}@media (width>=768px) and (width<=1024px){.grid-cols-3,.grid-cols-4,.grid-cols-5,.grid-cols-6{grid-template-columns:repeat(2,minmax(0,1fr))}.tablet-hidden{display:none}}@media (width>=1025px){.desktop-hidden{display:none}}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.z-50{z-index:50}.stat-card-compact{border-radius:var(--layout-radius);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--easing-standard);background:var(--color-surface);border:1px solid var(--color-border)}.stat-card-compact:hover{box-shadow:var(--shadow-md);border-color:var(--color-primary-soft);transform:translateY(-2px)}.custom-card{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--duration-normal) var(--easing-standard);background:var(--color-surface);padding:var(--spacing-6)}.custom-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-header{margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-3);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.card-header-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);margin:0}.card-actions{gap:var(--spacing-2);align-items:center;display:flex}.btn-primary{border-radius:var(--radius-md);font-weight:var(--font-weight-medium);transition:all var(--duration-fast) var(--easing-standard);background:var(--color-primary);color:#fff;padding:var(--spacing-2) var(--spacing-4);cursor:pointer;border:none}.btn-primary:hover{box-shadow:var(--shadow-sm);background:var(--color-primary-600);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{border-radius:var(--radius-md);font-weight:var(--font-weight-medium);transition:all var(--duration-fast) var(--easing-standard);background:var(--color-surface);color:var(--color-text-strong);border:1px solid var(--color-border-strong);padding:var(--spacing-2) var(--spacing-4);cursor:pointer}.btn-secondary:hover{box-shadow:var(--shadow-sm);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.btn-ghost{border-radius:var(--radius-md);font-weight:var(--font-weight-medium);transition:all var(--duration-fast) var(--easing-standard);color:var(--color-text-strong);padding:var(--spacing-2) var(--spacing-4);cursor:pointer;background:0 0;border:none}.btn-ghost:hover{background:var(--color-primary-soft);color:var(--color-primary)}.btn-sm{padding:var(--spacing-1) var(--spacing-3);font-size:var(--font-size-sm)}.btn-lg{padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-lg)}.form-item{margin-bottom:var(--spacing-4)}.form-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-strong);margin-bottom:var(--spacing-2);display:block}.form-label-required:after{content:" *";color:var(--color-danger)}.form-input{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-strong);background:var(--color-surface);transition:all var(--duration-fast) var(--easing-standard)}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.form-input:disabled{background:var(--color-surface-muted);cursor:not-allowed;opacity:.6}.form-input-error{border-color:var(--color-danger)}.form-input-error:focus{box-shadow:0 0 0 2px var(--color-danger-soft)}.form-select{width:100%;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-strong);background:var(--color-surface);transition:all var(--duration-fast) var(--easing-standard);cursor:pointer}.form-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.form-textarea{width:100%;min-height:100px;padding:var(--spacing-2) var(--spacing-3);border:1px solid var(--color-border-strong);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-strong);background:var(--color-surface);transition:all var(--duration-fast) var(--easing-standard);resize:vertical}.form-textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-soft);outline:none}.form-error-message{margin-top:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-danger)}.form-help-text{margin-top:var(--spacing-1);font-size:var(--font-size-xs);color:var(--color-text-muted)}.custom-table{border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-lg);width:100%;overflow:hidden}.custom-table thead{background:var(--color-surface-muted)}.custom-table th{padding:var(--spacing-3) var(--spacing-4);text-align:left;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-strong);border-bottom:1px solid var(--color-border)}.custom-table td{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-sm);color:var(--color-text-base);border-bottom:1px solid var(--color-border)}.custom-table tbody tr{transition:background-color var(--duration-fast) var(--easing-standard)}.custom-table tbody tr:hover{background:var(--color-surface-muted)}.custom-table tbody tr:last-child td{border-bottom:none}.modal-overlay{z-index:var(--z-modal-backdrop);animation:fadeIn var(--duration-fast) var(--easing-standard);background:#00000073;position:fixed;inset:0}.modal-content{background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);z-index:var(--z-modal);max-width:90vw;max-height:90vh;animation:scaleIn var(--duration-fast) var(--easing-decelerate);position:fixed;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%)}.badge{padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);align-items:center;line-height:1;display:inline-flex}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary)}.badge-success{background:var(--color-success-50);color:var(--color-success)}.badge-warning{background:var(--color-warning-50);color:var(--color-warning)}.badge-danger{background:var(--color-danger-soft);color:var(--color-danger)}.badge-neutral{background:var(--color-gray-100);color:var(--color-gray-600)}.alert{padding:var(--spacing-3) var(--spacing-4);border-radius:var(--radius-md);margin-bottom:var(--spacing-4);border:1px solid}.alert-info{background:var(--color-primary-soft);border-color:var(--color-primary-100);color:var(--color-primary-700)}.alert-success{background:var(--color-success-50);color:var(--color-success-600);border-color:#52c41a4d}.alert-warning{background:var(--color-warning-50);color:var(--color-warning-600);border-color:#faad144d}.alert-danger{background:var(--color-danger-soft);color:var(--color-danger-600);border-color:#ff4d4f4d}.stat-value-sm{font-size:var(--stat-value-font-size-sm);font-weight:var(--stat-value-font-weight);line-height:1.2}.stat-value-md{font-size:var(--stat-value-font-size-md);font-weight:var(--stat-value-font-weight);line-height:1.2}.stat-value-lg{font-size:var(--stat-value-font-size-lg);font-weight:var(--stat-value-font-weight);line-height:1.2}.stat-value-primary{color:var(--stat-value-color-primary)}.stat-value-danger{color:var(--stat-value-color-danger)}.stat-value-success{color:var(--stat-value-color-success)}.stat-value-warning{color:var(--stat-value-color-warning)}.stat-title{color:var(--stat-title-color);font-size:var(--stat-title-font-size);margin-bottom:var(--spacing-1)}.detail-stat-card{padding:var(--spacing-4);background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--card-radius);box-shadow:var(--card-shadow);transition:all var(--duration-normal) var(--easing-standard)}.detail-stat-card:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-2px)}.icon-primary{color:var(--icon-color-primary)}.icon-success{color:var(--icon-color-success)}.icon-warning{color:var(--icon-color-warning)}.icon-danger{color:var(--icon-color-danger)}.icon-mr{margin-right:var(--icon-margin-right)}[data-theme=dark] .badge-neutral{background:var(--color-gray-900);color:var(--color-gray-400)}[data-theme=dark] .alert-info{color:#40a9ff;background:#1890ff26;border-color:#1890ff4d}[data-theme=dark] .alert-success{color:#73d13d;background:#52c41a26;border-color:#52c41a4d}[data-theme=dark] .alert-warning{color:#ffc53d;background:#faad1426;border-color:#faad144d}[data-theme=dark] .alert-danger{color:#ff7875;background:#ff4d4f26;border-color:#ff4d4f4d}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideLeft{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,to{animation-timing-function:cubic-bezier(0,0,.2,1);transform:translateY(0)}50%{animation-timing-function:cubic-bezier(.8,0,1,1);transform:translateY(-10px)}}.animate-fade-in{animation:fadeIn var(--duration-fast) var(--easing-standard)}.animate-fade-out{animation:fadeOut var(--duration-fast) var(--easing-standard)}.animate-slide-up{animation:slideUp var(--duration-normal) var(--easing-decelerate)}.animate-slide-down{animation:slideDown var(--duration-normal) var(--easing-decelerate)}.animate-slide-left{animation:slideLeft var(--duration-normal) var(--easing-decelerate)}.animate-slide-right{animation:slideRight var(--duration-normal) var(--easing-decelerate)}.animate-scale-in{animation:scaleIn var(--duration-fast) var(--easing-decelerate)}.animate-scale-out{animation:scaleOut var(--duration-fast) var(--easing-accelerate)}.animate-spin{animation:1s linear infinite spin}.animate-pulse{animation:2s cubic-bezier(.4,0,.6,1) infinite pulse}.animate-bounce{animation:1s infinite bounce}.animate-delay-1{animation-delay:50ms}.animate-delay-2{animation-delay:.1s}.animate-delay-3{animation-delay:.15s}.animate-delay-4{animation-delay:.2s}.animate-delay-5{animation-delay:.25s}.animate-delay-6{animation-delay:.3s}.animate-delay-7{animation-delay:.35s}.animate-delay-8{animation-delay:.4s}.transition-none{transition:none}.transition-all{transition:all var(--duration-normal) var(--easing-standard)}.transition-fast{transition:all var(--duration-fast) var(--easing-standard)}.transition-slow{transition:all var(--duration-slow) var(--easing-standard)}.transition-colors{transition:color var(--duration-fast) var(--easing-standard), background-color var(--duration-fast) var(--easing-standard), border-color var(--duration-fast) var(--easing-standard)}.transition-transform{transition:transform var(--duration-fast) var(--easing-standard)}.transition-opacity{transition:opacity var(--duration-fast) var(--easing-standard)}.transition-shadow{transition:box-shadow var(--duration-fast) var(--easing-standard)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.animate-fade-in,.animate-fade-out,.animate-slide-up,.animate-slide-down,.animate-slide-left,.animate-slide-right,.animate-scale-in,.animate-scale-out,.animate-spin,.animate-pulse,.animate-bounce{animation:none!important}.transition-all,.transition-fast,.transition-slow,.transition-colors,.transition-transform,.transition-opacity,.transition-shadow{transition:none!important}}.hover-lift{transition:transform var(--duration-fast) var(--easing-standard), box-shadow var(--duration-fast) var(--easing-standard)}.hover-lift:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.hover-glow{transition:box-shadow var(--duration-fast) var(--easing-standard)}.hover-glow:hover{box-shadow:0 0 0 2px var(--color-primary-soft), 0 4px 12px #1890ff4d}.hover-scale{transition:transform var(--duration-fast) var(--easing-standard)}.hover-scale:hover{transform:scale(1.02)}.hover-brighten{transition:filter var(--duration-fast) var(--easing-standard)}.hover-brighten:hover{filter:brightness(1.1)}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Apple SD Gothic Neo,Malgun Gothic,sans-serif;transition:background-color .3s,color .3s}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-reduced-motion:no-preference){html{transition:background-color .3s cubic-bezier(.4,0,.2,1)}body,div,section,article,aside,nav,header,footer,main,[class*=ant-],[class*=ant-]:before,[class*=ant-]:after{transition:background-color .3s cubic-bezier(.4,0,.2,1),border-color .3s cubic-bezier(.4,0,.2,1),color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}}[data-theme=dark] .main-content,[data-theme=dark] .ant-layout-content{background:var(--color-background)}[data-theme=dark] body,[data-theme=dark] html,[data-theme=dark] #root{background:var(--color-background);color:var(--color-text-strong)}[data-theme=dark] .main-footer{background:var(--color-surface-muted);border-top-color:var(--color-border);color:var(--color-text-strong)}[data-theme=dark] .main-footer .footer-title,[data-theme=dark] .main-footer .contact-item{color:var(--color-text-strong)}[data-theme=dark] .main-footer .company-address,[data-theme=dark] .main-footer .copyright{color:var(--color-text-muted)}[data-theme=dark] .main-footer .business-info p{color:#ffffffa6}[data-theme=dark] .main-footer .legal-link{color:var(--color-text-strong)}[data-theme=dark] .main-footer .legal-link:hover{color:var(--color-primary-bright)}[data-theme=dark] .main-footer .footer-divider{border-color:var(--color-border)}[data-theme=dark] .ant-tag-green{color:#52c41a;background:#52c41a26;border-color:#52c41a4d}[data-theme=dark] .ant-tag-blue{color:#1890ff;background:#1890ff26;border-color:#1890ff4d}[data-theme=dark] .ant-tag-orange{color:#faad14;background:#faad1426;border-color:#faad144d}[class*=spin],[class*=loading],[class*=animate]{transition:none!important}@media (width<=768px){.ant-btn{min-height:44px;padding:8px 16px}.ant-table-row{min-height:52px}.ant-table-cell{padding:12px 8px}a,button,[role=button]{align-items:center;min-height:44px;padding:8px;display:inline-flex}}.error-fallback-container{background:linear-gradient(135deg,#f5f7fa 0%,#c3cfe2 100%);flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.error-fallback-container .ant-result{background:#fff;border-radius:12px;width:100%;max-width:600px;padding:48px 24px;box-shadow:0 4px 16px #00000014}.error-fallback-container .ant-result-title{color:#262626;margin-bottom:16px;font-size:24px;font-weight:600}.error-fallback-container .ant-result-subtitle{color:#595959;margin-bottom:24px;font-size:14px;line-height:1.6}.error-fallback-container .ant-result-extra{margin-top:32px}.error-fallback-container .ant-btn{margin:0 8px}.error-details{background:#fff;border-radius:8px;width:100%;max-width:800px;margin-top:32px;overflow:hidden;box-shadow:0 2px 8px #0000000f}.error-summary{cursor:pointer;color:#262626;-webkit-user-select:none;user-select:none;background:#fafafa;border-bottom:1px solid #f0f0f0;padding:16px 20px;font-size:14px;font-weight:600}.error-summary:hover{background:#f5f5f5}.error-content{max-height:500px;padding:20px;overflow-y:auto}.error-content h3{color:#262626;margin:16px 0 8px;font-size:14px;font-weight:600}.error-content h3:first-child{margin-top:0}.error-message,.error-stack{color:#d32f2f;white-space:pre-wrap;word-break:break-word;background:#f5f5f5;border:1px solid #e8e8e8;border-radius:4px;margin:0;padding:12px;font-family:Courier New,Courier,monospace;font-size:12px;line-height:1.6;overflow-x:auto}.error-stack{color:#595959}@media (width<=768px){.error-fallback-container{padding:16px}.error-fallback-container .ant-result{padding:32px 16px}.error-fallback-container .ant-result-title{font-size:20px}.error-fallback-container .ant-btn{width:100%;margin:4px;display:block}.error-details{margin-top:16px}.error-content{max-height:300px}.error-message,.error-stack{font-size:11px}}.main-footer{background:#fafafa;border-top:1px solid #f0f0f0;flex-shrink:0;margin-top:auto;padding:48px 0 24px;transition:background-color .3s,border-color .3s,box-shadow .3s;box-shadow:0 -2px 8px #0000000a}[data-theme=dark] .main-footer{background:var(--color-surface-muted);border-top-color:var(--color-border);box-shadow:0 -2px 8px #0000004d}[data-theme=dark] .footer-title,[data-theme=dark] .contact-item{color:var(--color-text-strong)}[data-theme=dark] .company-address,[data-theme=dark] .copyright{color:var(--color-text-muted)}[data-theme=dark] .business-info p{color:#ffffffa6}[data-theme=dark] .legal-link{color:var(--color-text-strong)}[data-theme=dark] .legal-link:hover{color:var(--color-primary-bright)}[data-theme=dark] .footer-divider{border-color:var(--color-border)}.footer-content{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.footer-grid{grid-template-columns:repeat(4,1fr);gap:40px;margin-bottom:32px;display:grid}.footer-section{margin-bottom:0}.footer-title{color:#262626;white-space:normal;word-break:keep-all;margin-bottom:16px;font-size:16px;font-weight:600;line-height:1.4}.company-name{color:#1890ff;white-space:normal;margin-bottom:8px;font-size:15px;font-weight:600}.company-address{color:#8c8c8c;white-space:normal;word-break:keep-all;margin:0;font-size:14px;line-height:1.8}.contact-info{flex-direction:column;gap:10px;display:flex}.contact-item{color:#262626;white-space:nowrap;align-items:center;gap:8px;font-size:14px;display:flex}.contact-icon{color:#1890ff;flex-shrink:0;font-size:16px}.business-info p{color:#595959;white-space:normal;word-break:keep-all;margin:0 0 6px;font-size:13px;line-height:1.8}.legal-links{flex-direction:column;gap:10px;display:flex}.legal-link{color:#262626;white-space:nowrap;font-size:14px;text-decoration:none;transition:all .2s}.legal-link:hover{color:#1890ff;text-decoration:none;transform:translate(2px)}.footer-divider{opacity:.8;border-color:#e8e8e8;margin:32px 0 20px}.footer-bottom{text-align:center;padding-top:4px}.copyright{color:#8c8c8c;letter-spacing:.3px;margin:0;font-size:13px}@media (width<=992px){.footer-grid{grid-template-columns:repeat(2,1fr);gap:32px}.main-footer{padding:40px 0 20px}}@media (width<=768px){.footer-grid{grid-template-columns:repeat(2,1fr);gap:28px}.main-footer{padding:36px 0 20px}.footer-content{padding:0 20px}.footer-title{margin-bottom:14px;font-size:15px}.contact-item{font-size:13px}.business-info p{font-size:12px;line-height:1.6}.legal-link{font-size:13px}.footer-divider{margin:28px 0 16px}.copyright{font-size:12px}}@media (width<=576px){.footer-grid{grid-template-columns:1fr;gap:24px}.main-footer{padding:32px 0 16px}.footer-content{padding:0 16px}.footer-title{margin-bottom:12px;font-size:14px}.contact-item{font-size:12px}.contact-icon{font-size:14px}.company-address{font-size:12px}.business-info p{font-size:11px}.legal-link{font-size:12px}.footer-divider{margin:24px 0 12px}.copyright{font-size:11px}}.main-layout{background:var(--color-background);flex-direction:column;min-height:100vh;transition:background-color .3s;display:flex}.main-layout>.ant-layout{flex-direction:column;flex:1;min-height:100vh;display:flex}.main-sider{background:var(--color-surface);z-index:10;height:100vh;transition:background-color .3s,box-shadow .3s;position:fixed;top:0;bottom:0;left:0;overflow:hidden;box-shadow:2px 0 8px #0000000f}.sidebar-wrapper{flex-direction:column;height:100%;display:flex;position:relative}.sidebar-top{flex-direction:column;flex:1;display:flex;overflow-y:auto}.sidebar-bottom{background:var(--color-surface);position:absolute;bottom:0;left:0;right:0}.logo{border-bottom:1px solid var(--color-border);background:var(--color-surface);justify-content:center;align-items:center;height:64px;display:flex}.logo-full{align-items:center;gap:12px;display:flex}.logo-icon{font-size:28px;line-height:1}.logo h2{color:var(--color-primary);letter-spacing:-.5px;margin:0;font-size:18px;font-weight:700}.main-menu-section{flex:1;padding-bottom:140px;overflow-y:auto}.admin-menu-section{border-top:1px solid var(--color-border);background:var(--color-surface);padding:8px 0}.support-menu-section{border-top:1px solid var(--color-border);background:var(--color-surface-muted);padding:8px 0}.user-section{border-top:1px solid var(--color-border);background:var(--color-surface-muted);padding:12px 8px}.user-info-card{background:var(--color-surface);border-radius:8px;flex-direction:column;gap:12px;padding:12px;transition:all .3s;display:flex}.user-info-top{align-items:center;gap:12px;display:flex}.user-avatar{background:var(--color-primary);flex-shrink:0}.user-details{flex:1;min-width:0}.user-details .user-name{color:var(--color-text-strong);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:13px;font-weight:600;line-height:1.2;overflow:hidden}.user-details .user-email{color:var(--color-text-muted);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:11px;line-height:1.2;overflow:hidden}.user-info-actions{gap:4px;width:100%;display:flex}.user-action-btn{border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;height:32px;font-size:14px;transition:all .3s;display:flex}.user-action-btn.profile{color:var(--color-primary);background:var(--color-primary-soft)}.user-action-btn.profile:hover{color:var(--color-primary);background:#1890ff33;transform:translateY(-1px);box-shadow:0 2px 4px #1890ff33}.user-action-btn.theme{color:#faad14;background:#faad141a}.user-action-btn.theme:hover{color:#faad14;background:#faad1433;transform:translateY(-1px);box-shadow:0 2px 4px #faad1433}.user-action-btn.logout{color:var(--color-danger);background:var(--color-danger-soft)}.user-action-btn.logout:hover{color:var(--color-danger);background:#ff4d4f33;transform:translateY(-1px);box-shadow:0 2px 4px #ff4d4f33}.main-content{padding:var(--layout-content-padding);background:var(--color-surface);border-radius:var(--layout-radius);flex:1;min-height:0;margin:24px 16px 0;transition:background-color .3s,box-shadow .3s;box-shadow:0 1px 3px #0000000a}.mobile-drawer .logo{margin-bottom:16px}.mobile-drawer .ant-menu{border-right:none}@media (width>=992px){.main-layout>.ant-layout{margin-left:var(--sidebar-width);transition:margin-left .2s}.main-layout>.ant-layout-sider-collapsed+.ant-layout{margin-left:var(--sidebar-collapsed-width)}}@media (width<=992px){.main-sider{display:none}.main-content{border-radius:8px;margin:16px 8px 0;padding:16px}.main-header{padding:0 16px}}@media (width<=768px){.main-content{margin:12px 8px 0;padding:12px}.logo h2{font-size:16px}}.ant-menu-light .ant-menu-item-selected{background-color:var(--color-primary);color:#fff;font-weight:600;box-shadow:0 2px 4px #1890ff33}.ant-menu-light .ant-menu-item-selected .anticon{color:#fff}.ant-menu-light .ant-menu-item:hover{background-color:var(--color-primary-soft);color:var(--color-primary)}.ant-menu-light .ant-menu-item:hover .anticon{color:var(--color-primary)}.ant-menu-light .ant-menu-item{border-radius:8px;height:40px;margin:2px 8px;font-size:14px;line-height:40px;transition:all .3s cubic-bezier(.4,0,.2,1)}.ant-menu-light .ant-menu-item .anticon{margin-right:12px;font-size:16px;transition:color .3s}.ant-menu-item-group-title{color:var(--color-text-strong);text-transform:uppercase;letter-spacing:.5px;padding:8px 16px;font-size:12px;font-weight:600}.ant-menu-item-group-list{margin-bottom:8px}.ant-dropdown-menu{border-radius:8px;box-shadow:0 4px 12px #00000014}[data-theme=dark] .main-sider{box-shadow:2px 0 8px #0000004d}[data-theme=dark] .main-content{box-shadow:0 1px 3px #0003}[data-theme=dark] .ant-dropdown-menu{box-shadow:0 4px 12px #0006}[data-theme=dark] .ant-menu-light .ant-menu-item-selected{background-color:var(--color-primary);color:#fff}[data-theme=dark] .ant-menu-light .ant-menu-item:hover{color:var(--color-primary-bright);background-color:#1890ff26}[data-theme=dark] .ant-menu-light .ant-menu-item:hover .anticon{color:var(--color-primary-bright)}[data-theme=dark] .user-action-btn.profile:hover{background:#1890ff40}[data-theme=dark] .user-action-btn.theme:hover{background:#faad1440}[data-theme=dark] .user-action-btn.logout:hover{background:#ff4d4f40}.page-loader{background:#fafafa;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100%;min-height:400px;display:flex}.page-loader-text{color:#595959;margin-top:24px;font-size:16px;font-weight:500}.page-loader .ant-spin{color:#1890ff}.page-loader-icon{font-size:48px}.page-loader{animation:.3s ease-in-out fadeIn}@media (width<=768px){.page-loader{min-height:300px}.page-loader-text{margin-top:20px;font-size:14px}}.auth-layout{background:linear-gradient(135deg,#e3f2fd 0%,#bbdefb 50%,#90caf9 100%);min-height:100vh}.auth-content{justify-content:center;align-items:center;min-height:100vh;display:flex}.auth-container{background:var(--color-surface);border-radius:var(--layout-radius);width:100%;max-width:400px;padding:40px;animation:.6s ease-out slideUp;box-shadow:0 8px 24px #0000001f}.auth-logo{text-align:center;margin-bottom:32px}.auth-logo h1{color:var(--color-primary);margin:0;font-size:28px;font-weight:700;line-height:1.3}@media (width<=768px){.auth-container{max-width:100%;margin:20px;padding:30px 20px}.auth-logo h1{font-size:20px}}.login-form-container{width:100%}.login-help-text{color:#666;background:#f0f2f5;border-radius:4px;margin-top:16px;padding:12px;font-size:12px}.login-help-text p{margin:4px 0}.forgot-password-container{text-align:center}.forgot-password-link{color:var(--color-primary)}[data-theme=dark] .login-help-text{color:#ffffffa6;border:1px solid var(--color-border);background:#ffffff0d}.App{text-align:center;padding:40px}h1{color:var(--color-primary)}
