.sidebar{background-color:var(--color-white);border-right:1px solid var(--color-border-primary);padding:var(--spacing-xl) var(--spacing-lg);box-sizing:border-box;flex-direction:column;width:260px;height:100vh;display:flex;position:fixed;top:0;left:0;box-shadow:1px 0 3px #00000005}.sidebar-header{margin-bottom:var(--spacing-xl);padding:var(--spacing-xs) 0;flex-shrink:0;width:100%}.logo-container{width:100%;overflow:hidden}.logo-container svg{max-width:100%;height:auto}.sidebar-content{flex-direction:column;flex:1;justify-content:space-between;min-height:0;display:flex;overflow-y:auto}.nav-section{margin-bottom:var(--spacing-sm)}.nav-main{flex-shrink:0}.nav-system{padding-bottom:var(--spacing-base);margin-top:auto}.nav-bottom{padding-top:var(--spacing-base);border-top:1px solid var(--color-border-secondary)}.sidebar-footer{flex-shrink:0;margin-top:auto}.user-info{flex-direction:column;gap:2px;display:flex}.user-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-gray900)}.user-email{font-size:var(--font-size-sm);color:var(--color-gray500)}.app-header{height:56px;padding:0 var(--spacing-lg);border-bottom:1px solid var(--color-gray100);background:#fff;justify-content:space-between;align-items:center;display:flex}.header-left{align-items:center;gap:var(--spacing-md);flex:1;display:flex}.header-right{align-items:center;gap:var(--spacing-md);display:flex}.error-boundary{justify-content:center;align-items:center;min-height:60vh;display:flex}@font-face{font-family:Nuckle;src:url(./Nuckle-Semibold.BlWYwisc.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--color-azure-radiance:oklch(54.4% .22 254.6);--color-azure-radiance10:oklch(54.4% .22 254.6/.1);--color-mine-shaft:oklch(25.8% 0 0);--color-athens-gray:oklch(95.7% .004 247.4);--color-alabaster:oklch(98.6% .002 247.9);--color-success:oklch(68.8% .16 149.6);--color-success50:oklch(68.8% .16 149.6/.1);--color-warning:oklch(66.1% .14 82.5);--color-warning50:oklch(66.1% .14 82.5/.1);--color-danger:oklch(60% .15 25);--color-danger-hover:oklch(55% .17 25);--color-danger-high-contrast:oklch(50% .18 25);--color-error:oklch(60% .15 25);--color-error50:oklch(60% .15 25/.1);--color-error-shadow:oklch(60% .15 25/.3);--color-info:oklch(54.4% .22 254.6);--color-primary-hover:oklch(48.4% .24 254.6);--color-primary-active:oklch(44.4% .26 254.6);--color-primary-shadow:oklch(54.4% .22 254.6/.2);--color-secondary-hover:oklch(32.8% 0 0);--color-secondary-active:oklch(20.8% 0 0);--color-secondary-shadow:oklch(25.8% 0 0/.2);--color-outline-hover:oklch(91.7% .006 247.4);--color-outline-active:oklch(87.1% .006 247.4);--color-ghost-hover:oklch(95.6% .002 247.9);--color-ghost-active:oklch(91.7% .006 247.4);--color-tertiary-hover:oklch(48.4% .24 254.6);--color-tertiary-active:oklch(44.4% .26 254.6);--color-white:oklch(100% 0 0);--color-black:oklch(0% 0 0);--color-transparent:transparent;--color-gray50:oklch(98% .002 247.9);--color-gray100:oklch(93% .008 247.4);--color-gray200:oklch(93% .004 247.4);--color-gray300:oklch(87.1% .006 247.4);--color-gray400:oklch(70.7% .004 247.4);--color-gray500:oklch(57.1% .004 247.4);--color-gray600:oklch(42.1% .005 247.4);--color-gray700:oklch(32.5% .005 247.4);--color-gray800:oklch(22.1% .005 247.4);--color-gray900:oklch(15.2% .005 247.4);--color-surface:oklch(100% 0 0);--color-surface-raised:oklch(100% 0 0);--color-surface-subtle:oklch(98.6% .002 247.9);--color-surface-sunken:oklch(95.7% .004 247.4);--color-surface-hover:oklch(98.6% .002 247.9);--color-surface-selected:oklch(91% .05 254.6);--color-surface-active:oklch(88% .08 254.6);--color-border-default:oklch(95.7% .004 247.4);--color-border-strong:oklch(87.1% .006 247.4);--color-online:oklch(68.8% .16 149.6);--color-offline:oklch(70.7% .004 247.4);--color-charging:oklch(71.2% .14 149.6);--color-discharging:oklch(69.4% .19 82.5);--color-idle:oklch(57.1% .004 247.4);--color-primary:var(--color-azure-radiance);--color-secondary:var(--color-mine-shaft);--color-tertiary:var(--color-alabaster);--color-accent:var(--color-azure-radiance);--color-accent-weak:var(--color-azure-radiance10);--color-primary-soft:var(--color-azure-radiance10);--color-text-primary:var(--color-gray500);--color-text-secondary:var(--color-mine-shaft);--color-text-tertiary:var(--color-gray500);--color-text-heading:var(--color-mine-shaft);--color-text-inverse:var(--color-alabaster);--color-border:var(--color-gray300);--color-border-primary:var(--color-gray300);--color-border-secondary:var(--color-gray400);--color-border-subtle:var(--color-gray100);--color-focus:var(--color-azure-radiance);--color-bg-elevated:var(--color-surface-raised);--color-bg-hover:var(--color-surface-hover);--color-bg-selected:var(--color-surface-selected);--color-bg-active:var(--color-surface-active);--spacing-micro:2px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-base:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--spacing-button-padding-x-xs:12px;--spacing-button-padding-x-sm:16px;--spacing-button-padding-x-base:24px;--spacing-button-padding-x-lg:32px;--spacing-button-padding-x-xl:40px;--spacing-button-padding-y-xs:4px;--spacing-button-padding-y-sm:6px;--spacing-button-padding-y-base:8px;--spacing-button-padding-y-lg:10px;--spacing-button-padding-y-xl:12px;--spacing-card-padding-sm:16px;--spacing-card-padding-base:24px;--spacing-card-padding-lg:40px;--spacing-form-field-padding-compact:6px 12px;--spacing-form-field-padding-comfortable:8px 16px;--spacing-form-field-padding-spacious:12px 20px;--spacing-table-padding-compact:8px 12px;--spacing-table-padding-comfortable:12px 16px;--spacing-table-padding-spacious:16px 20px;--spacing-table-header-padding-compact:10px 12px;--spacing-table-header-padding-comfortable:14px 16px;--spacing-table-header-padding-spacious:18px 20px;--spacing-tooltip-padding-sm:4px 8px;--spacing-tooltip-padding-md:8px 16px;--font-family:"Nuckle", sans-serif;--font-family-mono:"SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs:11px;--font-size-sm:12px;--font-size-base:14px;--font-size-md:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--font-size-btn:14px;--font-weight-semibold:600;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-base:1.5;--line-height-relaxed:1.7;--button-height-xs:24px;--button-height-sm:32px;--button-height-base:40px;--button-height-lg:48px;--button-height-xl:56px;--form-field-height-compact:36px;--form-field-height-comfortable:44px;--form-field-height-spacious:56px;--border-radius-none:0;--border-radius-btn:40px;--border-radius-form:4px;--border-radius-sm:5px;--border-radius-base:8px;--border-radius-lg:11px;--border-radius-xl:16px;--border-radius-2xl:24px;--border-radius-full:9999px;--border-width-default:1px;--border-width-thick:2px;--container-width-xs:192px;--container-width-sm:248px;--container-width-md:382px;--container-width-lg:544px;--container-width-xl:568px;--speed-fast:.125s;--speed-default:.25s;--speed-slow:.5s;--easing-default:ease-in-out;--easing-cubic:cubic-bezier(.05, .69, .14, 1);--easing-cubic2:cubic-bezier(.215, .61, .355, 1);--opacity-disabled:.5;--opacity-muted:.6;--opacity-hover:.9;--opacity-full:1;--transition-fast:.1s ease;--transition-default:.2s ease;--transition-slow:.3s ease;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px #00000012;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--shadow-xl:0 4px 12px #00000026;--shadow-focus:0 0 0 3px color-mix(in oklch, var(--color-primary) 15%, transparent);--shadow-focus-error:0 0 0 3px color-mix(in oklch, var(--color-error) 15%, transparent)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);background:var(--color-white);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-feature-settings:"liga", "kern"}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);color:var(--color-text-heading);opacity:1;line-height:1.2}a{color:var(--color-primary);text-decoration:none}a:hover{text-decoration:underline}input,textarea,select,button{font-family:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.table{display:table}.hidden{display:none}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-1{flex:1}.flex-auto{flex:auto}.gap-xs{gap:var(--spacing-xs)}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-base{gap:var(--spacing-base)}.gap-lg{gap:var(--spacing-lg)}.gap-xl{gap:var(--spacing-xl)}.gap-2xl{gap:var(--spacing-2xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-base{padding:var(--spacing-base)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.px-xs{padding-left:var(--spacing-xs);padding-right:var(--spacing-xs)}.px-sm{padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.px-md{padding-left:var(--spacing-md);padding-right:var(--spacing-md)}.px-base{padding-left:var(--spacing-base);padding-right:var(--spacing-base)}.px-lg{padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}.px-xl{padding-left:var(--spacing-xl);padding-right:var(--spacing-xl)}.py-xs{padding-top:var(--spacing-xs);padding-bottom:var(--spacing-xs)}.py-sm{padding-top:var(--spacing-sm);padding-bottom:var(--spacing-sm)}.py-md{padding-top:var(--spacing-md);padding-bottom:var(--spacing-md)}.py-base{padding-top:var(--spacing-base);padding-bottom:var(--spacing-base)}.py-lg{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg)}.py-xl{padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-base{margin:var(--spacing-base)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.mb-xs{margin-bottom:var(--spacing-xs)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-base{margin-bottom:var(--spacing-base)}.mb-lg{margin-bottom:var(--spacing-lg)}.mb-xl{margin-bottom:var(--spacing-xl)}.mb-2xl{margin-bottom:var(--spacing-2xl)}.mt-xs{margin-top:var(--spacing-xs)}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-base{margin-top:var(--spacing-base)}.mt-lg{margin-top:var(--spacing-lg)}.mt-xl{margin-top:var(--spacing-xl)}.mt-2xl{margin-top:var(--spacing-2xl)}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-6{margin-bottom:24px}.mb-8{margin-bottom:32px}.p-1{padding:4px}.p-2{padding:8px}.p-3{padding:12px}.p-4{padding:16px}.p-6{padding:24px}.p-8{padding:32px}.px-2{padding-left:8px;padding-right:8px}.px-3{padding-left:12px;padding-right:12px}.px-4{padding-left:16px;padding-right:16px}.px-6{padding-left:24px;padding-right:24px}.py-1{padding-top:4px;padding-bottom:4px}.py-2{padding-top:8px;padding-bottom:8px}.py-3{padding-top:12px;padding-bottom:12px}.py-4{padding-top:16px;padding-bottom:16px}.w-full{width:100%}.w-3{width:12px}.w-4{width:16px}.w-6{width:24px}.w-8{width:32px}.w-64{width:256px}.h-screen{height:100vh}.h-3{height:12px}.h-4{height:16px}.h-6{height:24px}.h-8{height:32px}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.static{position:static}.space-y-1>*+*{margin-top:4px}.space-y-2>*+*{margin-top:8px}.space-y-3>*+*{margin-top:12px}.space-y-4>*+*{margin-top:16px}.space-y-6>*+*{margin-top:24px}.space-y-8>*+*{margin-top:32px}.invisible{visibility:hidden}.visible{visibility:visible}.text-caption{font-size:var(--font-size-xs);line-height:var(--line-height-base);color:var(--color-text-secondary)}.text-xs{font-size:var(--font-size-xs);line-height:16px}.text-sm{font-size:var(--font-size-sm);line-height:20px}.text-base{font-size:var(--font-size-base);line-height:24px}.text-md{font-size:var(--font-size-md);line-height:24px}.text-lg{font-size:var(--font-size-lg);line-height:28px}.text-xl{font-size:var(--font-size-xl);line-height:28px}.text-2xl{font-size:var(--font-size-2xl);line-height:32px}.text-3xl{font-size:var(--font-size-3xl);line-height:36px}.text-4xl{font-size:var(--font-size-4xl);line-height:40px}.font-regular,.font-medium,.font-semibold,.font-bold{font-weight:var(--font-weight-semibold)}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-loose{line-height:2}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.uppercase{text-transform:uppercase}.lowercase{text-transform:lowercase}.capitalize{text-transform:capitalize}.leading-tight{line-height:1.25}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.75}.bg-azure{background-color:var(--color-azure-radiance)}.bg-mine{background-color:var(--color-mine-shaft)}.bg-athens{background-color:var(--color-athens-gray)}.bg-alabaster{background-color:var(--color-alabaster)}.bg-white{background-color:var(--color-white)}.bg-success{background-color:var(--color-success)}.bg-warning{background-color:var(--color-warning)}.bg-error{background-color:var(--color-error)}.text-azure{color:var(--color-azure-radiance)}.text-mine{color:var(--color-mine-shaft)}.text-white{color:var(--color-white)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.text-primary{color:var(--color-primary)}.text-secondary{color:var(--color-text-secondary)}.text-gray-600{color:var(--color-gray600)}.border-azure{border-color:var(--color-azure-radiance)}.border-athens{border-color:var(--color-athens-gray)}.border-athens-gray{border-color:var(--color-border-primary)}.border-alabaster{border-color:var(--color-alabaster)}.border{border-style:solid;border-width:1px}.border-2{border-style:solid;border-width:2px}.border-t{border-style:solid;border-top-width:1px}.border-r{border-style:solid;border-right-width:1px}.border-b{border-style:solid;border-bottom-width:1px}.border-l{border-style:solid;border-left-width:1px}.rounded-sm{border-radius:var(--border-radius-sm)}.rounded{border-radius:var(--border-radius-base)}.rounded-lg{border-radius:var(--border-radius-lg)}.rounded-xl{border-radius:var(--border-radius-xl)}.rounded-2xl{border-radius:var(--border-radius-2xl)}.rounded-full{border-radius:9999px}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow,.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.transition{transition-property:all;transition-duration:var(--speed-default)}.transition-fast{transition-property:all;transition-duration:var(--speed-fast)}.transition-slow{transition-property:all;transition-duration:var(--speed-slow)}.transition-colors{transition-property:background-color,border-color,color;transition-duration:var(--speed-default)}.transition-opacity{transition-property:opacity;transition-duration:var(--speed-default)}.opacity-0{opacity:0}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-90{opacity:.9}.opacity-100{opacity:1}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-wait{cursor:wait}.transform{transform:translate(0)translateY(0)rotate(0)skew(0)skewY(0)scaleX(1)scaleY(1)}.hover\:translate-y-1:hover{transform:translateY(4px)}.hover\:-translate-y-1:hover{transform:translateY(-4px)}body{font-family:var(--font-family);min-height:100vh;margin:0}.app-layout{background:var(--color-gray50);height:100vh;display:flex}.auth-layout{background:var(--color-gray50);min-height:100vh;overflow:hidden}.main-wrapper{flex-direction:column;flex:1;width:calc(100% - 260px);height:100vh;margin-left:260px;display:flex;overflow:hidden}.main-content{background:0 0;flex:1;padding:0;overflow-y:auto}.page-container{max-width:1400px;padding:var(--spacing-2xl) var(--spacing-3xl);margin:0 auto}@media (width<=1200px){.page-container{padding:var(--spacing-xl) var(--spacing-2xl)}}
