.sidebar{background-color:var(--color-white);border-right:1px solid var(--color-border-primary);padding:var(--spacing-xl) var(--spacing-lg);display:flex;flex-direction:column;box-shadow:1px 0 3px #00000005;position:fixed;top:0;left:0;height:100vh;width:260px;box-sizing:border-box}.sidebar-header{margin-bottom:var(--spacing-xl);padding:var(--spacing-xs) 0;width:100%;flex-shrink:0}.logo-container{width:100%;overflow:hidden}.logo-container :global(svg){max-width:100%;height:auto}.sidebar-content{flex:1;display:flex;flex-direction:column;overflow-y:auto;min-height:0;justify-content:space-between}.nav-section{margin-bottom:var(--spacing-sm)}.nav-main{flex-shrink:0}.nav-system{margin-top:auto;padding-bottom:var(--spacing-base)}.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{display:flex;flex-direction:column;gap:2px}.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{display:flex;align-items:center;justify-content:space-between;height:56px;padding:0 var(--spacing-lg);background:#fff;border-bottom:1px solid var(--color-gray100)}.header-left{display:flex;align-items:center;gap:var(--spacing-md);flex:1}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.error-boundary{min-height:60vh;display:flex;align-items:center;justify-content:center}@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-border-default: oklch(95.7% .004 247.4);--color-border-strong: oklch(87.1% .006 247.4);--color-border-subtle: oklch(97.3% .002 247.9);--color-bg-elevated: oklch(100% 0 0);--color-bg-hover: oklch(98.6% .002 247.9);--color-bg-selected: oklch(91% .05 254.6);--color-bg-active: oklch(88% .08 254.6);--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-text-primary: var(--color-gray500);--color-text-heading: var(--color-mine-shaft);--color-text-secondary: var(--color-mine-shaft);--color-text-inverse: var(--color-alabaster);--color-border-primary: var(--color-gray300);--color-border-secondary: var(--color-gray400);--color-border-subtle: var(--color-gray100);--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-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 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -4px rgba(0, 0, 0, .1);--shadow-xl: 0 4px 12px rgba(0, 0, 0, .15);--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)}*{margin:0;padding:0;box-sizing:border-box}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);line-height:1.2;color:var(--color-text-heading);opacity:1}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 1 0%}.flex-auto{flex:1 1 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-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-relaxed{line-height:1.625}.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-gray-600)}.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-width:1px;border-style:solid}.border-2{border-width:2px;border-style:solid}.border-t{border-top-width:1px;border-style:solid}.border-r{border-right-width:1px;border-style:solid}.border-b{border-bottom-width:1px;border-style:solid}.border-l{border-left-width:1px;border-style:solid}.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{box-shadow:var(--shadow-base)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-wattsun{box-shadow:var(--shadow-wattsun)}.transition{transition-property:all;transition-duration:var(--transition-base)}.transition-fast{transition-property:all;transition-duration:var(--transition-fast)}.transition-slow{transition-property:all;transition-duration:var(--transition-slow)}.transition-colors{transition-property:background-color,border-color,color;transition-duration:var(--transition-base)}.transition-opacity{transition-property:opacity;transition-duration:var(--transition-base)}.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{margin:0;font-family:var(--font-family);min-height:100vh}.app-layout{display:flex;height:100vh;background:var(--color-gray50)}.auth-layout{min-height:100vh;background:var(--color-gray50);overflow:hidden}.main-wrapper{flex:1;margin-left:260px;display:flex;flex-direction:column;height:100vh;width:calc(100% - 260px);overflow:hidden}.main-content{flex:1;padding:0;background:transparent;overflow-y:auto}.page-container{max-width:1400px;margin:0 auto;padding:var(--spacing-2xl) var(--spacing-3xl)}@media (max-width: 1200px){.page-container{padding:var(--spacing-xl) var(--spacing-2xl)}}
