@import"https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Russo+One&display=swap";.page--auth{min-height:100vh;display:flex;flex-direction:column;background:var(--surface-page)}.page--auth main{flex:1;display:flex;align-items:center}.auth-container{max-width:420px;width:100%;margin:0 auto;padding:0 20px}.card.card-auth{margin:24px auto;padding:32px 24px}.card-auth__logo{display:flex;justify-content:center;margin-bottom:24px}.card-auth__logo img{height:28px;max-width:100%;object-fit:contain}.card-auth__title{text-align:center;margin:0 0 4px;font-size:22px;font-weight:600;color:var(--text-primary)}.card-auth__subtitle{display:block;text-align:center;margin-bottom:24px;font-size:14px;color:var(--text-secondary)}.card-auth__bottom{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid var(--outline-secondary)}.card-auth__bottom .theme-toggle{height:28px!important;width:28px!important;padding:0!important;box-sizing:border-box!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;flex-shrink:0}.card-auth__bottom .theme-toggle .theme-toggle__sun,.card-auth__bottom .theme-toggle .theme-toggle__moon{width:16px!important;height:16px!important}.page--auth .footer{text-align:center;padding:20px;font-size:12px;color:var(--text-tertiary);margin-top:auto}.auth-lang{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.auth-lang:hover{background:var(--surface-2);color:var(--text-primary)}.auth-lang .eco-icon{width:16px;height:16px}.auth-password{margin-top:14px;padding-top:14px;border-top:1px solid var(--outline-secondary);text-align:left}.auth-password .field{margin-bottom:10px}.auth-alt-link{border:0;background:none;padding:0;font:inherit;font-size:13px;color:var(--text-secondary);cursor:pointer;text-decoration:underline;width:100%;text-align:center}.auth-alt-link:hover{color:var(--text-action)}:root{--surface-page: #F2F2F2;--surface-1: #FFFFFF;--surface-2: #F6F6F6;--surface-3: #E3E3E3;--container-action: #10B452;--container-action-pressed: #008033;--container-error: #F2473A;--container-warning: #FF9A3D;--container-success: #10B452;--container-info: #3577D8;--text-primary: #393939;--text-secondary: #61646B;--text-tertiary: #B0B2B5;--text-action: #10B452;--text-reversed: #FFFFFF;--text-error: #F2473A;--icon-primary: #393939;--icon-secondary: #61646B;--icon-tertiary: #999999;--icon-action: #10B452;--icon-reversed: #FFFFFF;--outline-primary: #9CA0A5;--outline-secondary: #B0B2B5;--outline-action: #10B452;--outline-accent: #3545EE;--state-disabled-bg: rgba(0, 0, 0, .06);--state-disabled-text: #B0B2B5;--state-hover-overlay: rgba(0, 0, 0, .05);--state-pressed-overlay: rgba(16, 180, 82, .15);--state-focus-ring: rgba(16, 180, 82, .3);--brand-primary: #10B452;--brand-primary-hover: #0E9D47;--brand-primary-pressed: #008033;--brand-accent: #10B452;--brand-secondary: #008033;--gradient-hero: linear-gradient(180deg, #10B452 0%, #3AE485 21%, #1E1E1E 100%);--gradient-subtle: linear-gradient(180deg, #f0fef5 0%, #FFFFFF 100%);--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--duration-energy-flow: 2s;--duration-energy-pulse: 3s;--duration-counter: 1.2s;--ease-default: ease-in-out;--ease-energy: cubic-bezier(.4, 0, .6, 1);--ease-pulse: cubic-bezier(.65, 0, .35, 1);--transition-fast: .15s ease-in-out;--transition-normal: .3s ease-in-out;--transition-slow: .5s ease-in-out;--font-marketing-heading: "Ruberoid", "Inter", system-ui, sans-serif;--font-marketing-body: "Open Sans", system-ui, sans-serif;--font-platform: "Roboto", system-ui, sans-serif;--font-engineering: "TT Lakes", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", Consolas, monospace;--sidebar-bg: #1E1E1E;--sidebar-text: #ECEBEB;--sidebar-active: rgba(16, 180, 82, .15);--chart-pv: #3B82F6;--chart-load: #EF4444;--chart-battery: #6366F1;--chart-grid: #F59E0B;--chart-soc: #10B981;--chart-temp: #EC4899;--chart-axis: var(--outline-secondary);--chart-grid-line: var(--surface-2)}[data-theme=dark],.dark{--surface-page: #1A1A1A;--surface-1: #1E1E1E;--surface-2: #262626;--surface-3: #3A3A3A;--container-action: #7DD8A2;--container-action-pressed: #10B452;--container-error: #E7867E;--container-warning: #EAB686;--container-success: #7DD8A2;--container-info: #3577D8;--text-primary: #ECEBEB;--text-secondary: #B0B2B5;--text-tertiary: #858585;--text-action: #7DD8A2;--text-reversed: #1E1E1E;--text-error: #E7867E;--icon-primary: #ECEBEB;--icon-secondary: #B0B2B5;--icon-tertiary: #666666;--icon-action: #7DD8A2;--icon-reversed: #1E1E1E;--outline-primary: #494B50;--outline-secondary: #3A3A3A;--outline-action: #7DD8A2;--outline-accent: #3545EE;--state-disabled-bg: rgba(255, 255, 255, .06);--state-disabled-text: #666666;--state-hover-overlay: rgba(255, 255, 255, .05);--state-pressed-overlay: rgba(125, 216, 162, .2);--state-focus-ring: rgba(125, 216, 162, .3);--chart-pv: #60A5FA;--chart-load: #F87171;--chart-battery: #818CF8;--chart-grid: #FBBF24;--chart-soc: #34D399;--chart-temp: #F472B6;--chart-axis: var(--outline-secondary);--chart-grid-line: var(--surface-2)}:root,:root body,.app-shell,.sidebar,.topbar,.modal,.modal-overlay,.toast,.card,.input,.btn,.table,.table-wrap{transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}[data-theme=light]{color-scheme:light}[data-theme=dark]{color-scheme:dark}body{background:var(--surface-page);color:var(--text-primary);font-family:var(--font-platform);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input:where([type=text],[type=email],[type=search],[type=password],[type=number],[type=tel],[type=url],[type=date],[type=time],[type=datetime-local]),textarea,select{background:var(--surface-1);color:var(--text-primary);border:1px solid var(--outline-primary);border-radius:6px}input:where([type=text],[type=email],[type=search],[type=password],[type=number],[type=tel],[type=url],[type=date],[type=time],[type=datetime-local]):focus,textarea:focus,select:focus{border-color:var(--outline-action);outline:none}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}.theme-marketing{font-family:var(--font-marketing-body)}.theme-marketing h1,.theme-marketing h2,.theme-marketing h3,.theme-marketing h4{font-family:var(--font-marketing-heading)}.theme-platform{font-family:var(--font-platform)}.theme-engineering{font-family:var(--font-engineering)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:44px;padding:0 20px;border:1px solid transparent;border-radius:8px;font-family:var(--font-platform);font-weight:500;font-size:14px;line-height:1;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast),opacity var(--duration-fast)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--state-focus-ring)}.btn:disabled{cursor:not-allowed;background:var(--state-disabled-bg);color:var(--state-disabled-text);border-color:transparent}.btn-large{height:60px;padding:0 24px;font-size:16px}.btn-sm{height:28px;padding:0 10px;font-size:12px;border-radius:5px}.btn-icon{width:48px;height:48px;padding:0}.btn-primary{background:var(--container-action);color:var(--text-reversed)}.btn-primary:hover:not(:disabled){background:var(--container-action-pressed)}.btn-secondary{background:var(--surface-2);color:var(--text-primary);border-color:var(--outline-primary)}.btn-secondary:hover:not(:disabled){background:var(--surface-3)}.btn-danger{background:var(--container-error);color:var(--text-reversed)}.btn-danger:hover:not(:disabled){filter:brightness(.92)}.btn-ghost{background:transparent;color:var(--text-primary);border-color:var(--outline-secondary)}.btn-ghost:hover:not(:disabled){background:var(--state-hover-overlay)}.btn-block{display:flex;width:100%}.ef-btn-spinner{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:middle;margin-right:8px;animation:ds-btn-spin .7s linear infinite}@keyframes ds-btn-spin{to{transform:rotate(360deg)}}.card{background:var(--surface-1);border-radius:16px;padding:20px;box-shadow:0 4px 10px #00000014;transition:box-shadow var(--duration-normal)}.card:hover{box-shadow:0 4px 16px #0000001a}input[type=checkbox],input[type=radio]{accent-color:var(--container-action);cursor:pointer}input[type=checkbox]:focus-visible,input[type=radio]:focus-visible{outline:2px solid var(--outline-action);outline-offset:1px}.input{width:100%;height:44px;padding:0 16px;background:var(--surface-1);color:var(--text-primary);border:1px solid var(--outline-primary);border-radius:8px;font-size:16px;font-family:var(--font-platform);transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}.input::placeholder{color:var(--text-tertiary)}.input:focus{outline:none;border-color:var(--outline-action);box-shadow:0 0 0 3px var(--state-focus-ring)}.input:disabled{background:var(--state-disabled-bg);color:var(--state-disabled-text);cursor:not-allowed}.form{display:flex;flex-direction:column;gap:14px}.form-row{display:flex;gap:12px;align-items:flex-start}.form-row>.field{flex:1;min-width:0}@media(max-width:600px){.form-row{flex-direction:column;gap:14px}}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;font-weight:500;color:var(--text-primary);display:inline-flex;align-items:center;gap:4px}.field__label--required:after{content:" *";color:var(--container-error);font-weight:600}.field__hint{font-size:12px;color:var(--text-tertiary);line-height:1.4}.field__error{font-size:12px;color:var(--container-error);line-height:1.4;display:flex;align-items:center;gap:4px}.field--error .input,.field--error select,.field--error textarea{border-color:var(--container-error)}.field--error .input:focus,.field--error select:focus,.field--error textarea:focus{box-shadow:0 0 0 3px #e7867e33;border-color:var(--container-error)}.form-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:4px;flex-wrap:wrap}.form-actions--space-between{justify-content:space-between}.form-actions--start{justify-content:flex-start}.form-section{display:flex;flex-direction:column;gap:14px;padding:16px 0;border-bottom:1px solid var(--outline-secondary)}.form-section:first-child{padding-top:0}.form-section:last-child{border-bottom:none;padding-bottom:0}.form-section__title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0 0 4px}.form-section__hint{font-size:12px;color:var(--text-tertiary);margin:0 0 8px;line-height:1.4}.toast-container{position:fixed;top:16px;right:16px;z-index:300;display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:calc(100vw - 32px)}.toast-container--bottom{top:auto;bottom:16px}.toast-container--left{right:auto;left:16px}.toast{pointer-events:auto;background:var(--surface-1);border:1px solid var(--outline-secondary);border-left:4px solid var(--text-tertiary);border-radius:8px;box-shadow:0 6px 20px #0000001f;min-width:280px;max-width:420px;padding:12px 14px;display:flex;align-items:flex-start;gap:12px;animation:ds-toast-slide-in .2s ease-out}@keyframes ds-toast-slide-in{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.toast--success{border-left-color:var(--container-success)}.toast--error{border-left-color:var(--container-error)}.toast--warning{border-left-color:var(--container-warning)}.toast--info{border-left-color:var(--container-info)}.toast__body{flex:1 1 auto;min-width:0}.toast__title{font-size:13px;font-weight:600;color:var(--text-primary);line-height:1.3;margin:0}.toast__message{font-size:12px;color:var(--text-secondary);line-height:1.4;margin-top:2px;word-wrap:break-word}.toast__close{background:transparent;border:none;cursor:pointer;padding:2px 6px;border-radius:4px;color:var(--text-tertiary);font-size:18px;line-height:1}.toast__close:hover{background:var(--surface-2);color:var(--text-primary)}.msg{padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;border:1px solid transparent;line-height:1.4}.msg-success{background:color-mix(in srgb,var(--container-success) 12%,transparent);color:var(--container-success);border-color:color-mix(in srgb,var(--container-success) 30%,transparent)}.msg-error{background:color-mix(in srgb,var(--container-error) 12%,transparent);color:var(--container-error);border-color:color-mix(in srgb,var(--container-error) 30%,transparent)}.msg-warning{background:color-mix(in srgb,var(--container-warning) 12%,transparent);color:var(--container-warning);border-color:color-mix(in srgb,var(--container-warning) 30%,transparent)}.msg-info{background:color-mix(in srgb,var(--container-info) 12%,transparent);color:var(--container-info);border-color:color-mix(in srgb,var(--container-info) 30%,transparent)}.divider{display:flex;align-items:center;margin:24px 0;gap:12px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--outline-secondary)}.divider>span{font-size:13px;color:var(--text-tertiary);white-space:nowrap}.link{color:var(--text-action);text-decoration:none;font-weight:500;transition:color var(--duration-fast)}.link:hover{text-decoration:underline}.empty-state{padding:32px 16px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-secondary)}.empty-state--compact{padding:16px}.empty-state__icon{font-size:36px;line-height:1;opacity:.6;margin-bottom:4px}.empty-state__title{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.empty-state__message{font-size:13px;color:var(--text-secondary);line-height:1.4;max-width:360px;margin:0}.empty-state__actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.skeleton{display:block;background:linear-gradient(90deg,var(--surface-2) 0%,var(--surface-3) 50%,var(--surface-2) 100%);background-size:200% 100%;animation:ds-skeleton-shimmer 1.4s ease-in-out infinite;border-radius:4px}@keyframes ds-skeleton-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.skeleton-line{height:12px;width:100%;margin:4px 0}.skeleton-line--sm{height:10px}.skeleton-line--lg{height:16px}.skeleton-circle{border-radius:50%}.skeleton-row td{padding:10px 12px}.skeleton-row td>.skeleton-line{margin:0}.theme-toggle{background:transparent;border:1px solid transparent;border-radius:6px;padding:0;width:28px;height:28px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);vertical-align:middle;transition:background-color .15s,color .15s,border-color .15s}.theme-toggle:hover{background:var(--surface-2);color:var(--text-primary);border-color:var(--outline-secondary)}.theme-toggle:focus-visible{outline:none;box-shadow:0 0 0 3px var(--state-focus-ring)}.theme-toggle>svg{width:16px;height:16px;stroke-width:2;fill:none;stroke:currentColor;pointer-events:none}.theme-toggle>.theme-toggle__sun{display:inline-block!important}.theme-toggle>.theme-toggle__moon{display:none!important}[data-theme=dark] .theme-toggle>.theme-toggle__sun{display:none!important}[data-theme=dark] .theme-toggle>.theme-toggle__moon{display:inline-block!important}.badge{display:inline-flex;align-items:center;gap:4px;height:18px;padding:0 6px;border-radius:4px;font-size:12px;font-weight:400;line-height:1}.badge-success,.badge-online{background:color-mix(in srgb,var(--container-success) 10%,transparent);color:var(--container-success)}.badge-charging{background:color-mix(in srgb,var(--container-info) 10%,transparent);color:var(--container-info)}.badge-warning,.badge-suspended{background:color-mix(in srgb,var(--container-warning) 10%,transparent);color:var(--container-warning)}.badge-error,.badge-fault{background:color-mix(in srgb,var(--container-error) 10%,transparent);color:var(--container-error)}.badge-info{background:color-mix(in srgb,var(--container-info) 10%,transparent);color:var(--container-info)}.badge-offline{background:color-mix(in srgb,var(--text-tertiary) 12%,transparent);color:var(--text-tertiary)}.badge-preparing{background:color-mix(in srgb,#10AAB4 10%,transparent);color:#10aab4}.badge-tag{background:var(--surface-2);color:var(--text-secondary)}.table{width:100%;background:var(--surface-1);border-radius:16px;overflow:hidden;border-collapse:collapse}.table thead{background:var(--surface-2)}.table th{padding:12px 16px;text-align:left;font-size:14px;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--outline-secondary)}.table td{padding:12px 16px;color:var(--text-primary);border-bottom:1px solid var(--outline-secondary)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover{background:var(--surface-2)}.table-header{background:var(--surface-2);color:var(--text-secondary);font-weight:600;font-size:14px}.table-row{border-bottom:1px solid var(--outline-secondary)}.table-row:hover{background:var(--surface-2)}.table-cell{padding:12px 16px;color:var(--text-primary);font-size:16px}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.nav-item:hover{background:var(--state-hover-overlay);color:var(--text-primary)}.nav-item-active{background:color-mix(in srgb,var(--container-action) 12%,transparent);color:var(--text-action);border-left:3px solid var(--container-action)}.eco-icon{display:inline-block;vertical-align:-.15em;flex-shrink:0;width:1em;height:1em;fill:currentColor;stroke:currentColor}.eco-icon use{pointer-events:none}.nav-item .eco-icon{width:20px;height:20px;color:var(--icon-secondary)}.nav-item:hover .eco-icon,.nav-item-active .eco-icon{color:var(--icon-action)}@keyframes flow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-120}}@keyframes breathe{0%,to{opacity:.6}50%{opacity:1}}.energy-flow{animation:flow var(--duration-energy-flow) linear infinite}.energy-pulse{animation:breathe var(--duration-energy-pulse) ease-in-out infinite}.ui-page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:20px}.ui-page-head__main{display:flex;align-items:flex-start;gap:10px;min-width:0}.ui-page-head__title{margin:0;font-size:24px;font-weight:700;line-height:1.25;color:var(--text-primary);letter-spacing:-.01em}.ui-page-head__actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ui-page-head__back{width:34px;height:34px;border:1px solid var(--outline-secondary);border-radius:8px;background:var(--surface-1);color:var(--icon-secondary);display:grid;place-items:center;cursor:pointer;flex-shrink:0;transition:background var(--duration-fast),color var(--duration-fast)}.ui-page-head__back:hover{background:var(--surface-2);color:var(--icon-primary)}.ui-card{display:flex;flex-direction:column;padding:0;border:1px solid var(--outline-secondary);overflow:hidden}.ui-card--warning{border-color:var(--container-warning)}.ui-card--action{border-color:var(--container-action)}.ui-card--error{border-color:var(--container-error)}.ui-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--outline-secondary);min-height:52px}.ui-card__title{display:flex;align-items:center;gap:8px;font-size:15px;font-weight:600;color:var(--text-primary);min-width:0}.ui-card__title .eco-icon{width:18px;height:18px;color:var(--icon-action)}.ui-card__extra{display:flex;align-items:center;gap:8px;flex-shrink:0}.ui-card__body{padding:18px;flex:1;min-width:0}.ui-card__body--flush{padding:0}.ui-card__foot{padding:12px 18px;border-top:1px solid var(--outline-secondary);background:var(--surface-2);display:flex;align-items:center;justify-content:flex-end;gap:8px}.ui-stat{display:flex;align-items:center;gap:14px;padding:16px 18px;border:1px solid var(--outline-secondary);text-align:left;font:inherit;width:100%}.ui-stat--clickable{cursor:pointer}.ui-stat--clickable:hover{border-color:var(--outline-action);box-shadow:0 2px 10px #0000000d}.ui-stat--clickable:focus-visible{outline:none;box-shadow:0 0 0 3px var(--state-focus-ring)}.ui-stat__icon{width:42px;height:42px;border-radius:12px;flex-shrink:0;display:grid;place-items:center;background:var(--surface-2);color:var(--icon-action)}.ui-stat__icon .eco-icon{width:21px;height:21px}.ui-stat__icon--success{color:var(--container-success)}.ui-stat__icon--warning{color:var(--container-warning)}.ui-stat__icon--info{color:var(--container-info)}.ui-stat__icon--error{color:var(--container-error)}.ui-stat__body{display:flex;flex-direction:column;min-width:0;gap:1px}.ui-stat__value{font-size:24px;font-weight:700;line-height:1.15;color:var(--text-primary);font-variant-numeric:tabular-nums}.ui-stat__label{font-size:13px;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-stat__hint{font-size:11px;color:var(--text-tertiary)}.ui-avatar{border-radius:50%;object-fit:cover;flex-shrink:0;background:var(--surface-2);display:inline-block}.ui-avatar--fallback{display:inline-grid;place-items:center;color:var(--icon-secondary);font-weight:600;letter-spacing:.02em;border:1px solid var(--outline-secondary)}.ui-avatar--fallback .eco-icon{width:60%;height:60%}.ui-table-wrap{width:100%;overflow-x:auto;overflow-y:hidden;border-radius:16px}.ui-table{font-size:14px}.ui-th{padding:11px 16px;text-align:left;white-space:nowrap;-webkit-user-select:none;user-select:none}.ui-th--sortable{cursor:pointer}.ui-th--sortable:hover{color:var(--text-primary)}.ui-th__inner{display:inline-flex;align-items:center;gap:4px}.ui-sort-icon{width:12px;height:12px;opacity:.25;transition:opacity var(--duration-fast)}.ui-sort-icon--on{opacity:1;color:var(--icon-action)}.ui-td{font-size:14px;padding:12px 16px;vertical-align:middle}.ui-tr--clickable{cursor:pointer}.ui-align-right{text-align:right}.ui-align-center{text-align:center}.ui-tr-expand>td{padding:0 16px 12px;border-bottom:1px solid var(--outline-secondary);background:var(--surface-2)}.ui-table-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--surface-1);border-top:1px solid var(--outline-secondary);flex-wrap:wrap}.ui-table-total{font-size:13px;color:var(--text-secondary)}.ui-pager{display:flex;align-items:center;gap:4px;margin-left:auto}.ui-pager__label{font-size:13px;color:var(--text-secondary);min-width:56px;text-align:center;font-variant-numeric:tabular-nums}.ui-rotate-180 .eco-icon{transform:rotate(180deg)}@media(max-width:575px){.ui-hide-below-sm{display:none!important}}@media(max-width:767px){.ui-hide-below-md{display:none!important}}@media(max-width:1199px){.ui-hide-below-lg{display:none!important}}.ui-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;overflow-x:hidden;background:#00000073;animation:ui-fade var(--duration-fast) var(--ease-default)}.ui-modal{position:relative;margin:auto;padding:0;display:flex;flex-direction:column;max-height:calc(100vh - 80px);background:var(--surface-1);border:1px solid var(--outline-secondary);border-radius:16px;box-shadow:0 18px 48px #00000038;overflow:hidden;animation:ui-rise var(--duration-normal) var(--ease-default)}.ui-modal__head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 14px;border-bottom:1px solid var(--outline-secondary)}.ui-modal__title{margin:0;font-size:17px;font-weight:600;color:var(--text-primary)}.ui-modal__close{width:32px;height:32px;border:0;border-radius:8px;background:transparent;color:var(--icon-secondary);cursor:pointer;display:grid;place-items:center;flex-shrink:0}.ui-modal__close:hover{background:var(--surface-2);color:var(--icon-primary)}.ui-modal__body{padding:20px;overflow-y:auto;overflow-x:hidden}.ui-modal__foot{padding:14px 20px;border-top:1px solid var(--outline-secondary);display:flex;justify-content:flex-end;gap:8px;background:var(--surface-2)}@keyframes ui-fade{0%{opacity:0}to{opacity:1}}@keyframes ui-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.ui-input-wrap{position:relative;display:inline-flex;align-items:center;width:100%}.ui-input-icon{position:absolute;left:12px;width:16px;height:16px;color:var(--icon-tertiary);pointer-events:none}.ui-input--with-icon{padding-left:36px}.ui-input-clear{position:absolute;right:8px;width:22px;height:22px;border:0;border-radius:50%;background:transparent;color:var(--icon-tertiary);cursor:pointer;display:grid;place-items:center}.ui-input-clear:hover{background:var(--surface-3);color:var(--icon-primary)}.ui-input-clear .eco-icon{width:12px;height:12px}.ui-textarea{min-height:72px;height:auto;padding:10px 12px;line-height:1.5;resize:vertical}.ui-switch{display:inline-flex;align-items:center;gap:10px;cursor:pointer}.ui-switch--disabled{cursor:not-allowed;opacity:.6}.ui-switch input{position:absolute;opacity:0;width:0;height:0}.ui-switch__track{width:40px;height:22px;border-radius:999px;background:var(--surface-3);padding:2px;transition:background var(--duration-fast);flex-shrink:0}.ui-switch__thumb{display:block;width:18px;height:18px;border-radius:50%;background:var(--surface-1);box-shadow:0 1px 3px #00000040;transition:transform var(--duration-fast) var(--ease-default)}.ui-switch input:checked+.ui-switch__track{background:var(--container-action)}.ui-switch input:checked+.ui-switch__track .ui-switch__thumb{transform:translate(18px)}.ui-switch input:focus-visible+.ui-switch__track{box-shadow:0 0 0 3px var(--state-focus-ring)}.ui-switch__label{font-size:14px;color:var(--text-primary)}.ui-segmented{display:inline-flex;padding:3px;gap:2px;background:var(--surface-2);border:1px solid var(--outline-secondary);border-radius:10px}.ui-segmented__item{border:0;background:transparent;padding:6px 14px;border-radius:7px;font:inherit;font-size:13px;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast)}.ui-segmented__item:hover{color:var(--text-primary)}.ui-segmented__item--on{background:var(--surface-1);color:var(--text-action);box-shadow:0 1px 3px #00000014}.ui-tabs{display:flex;gap:4px;border-bottom:1px solid var(--outline-secondary);margin-bottom:18px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none}.ui-tabs::-webkit-scrollbar{height:0;width:0}.ui-tabs__item{border:0;background:transparent;padding:10px 14px;font:inherit;font-size:14px;font-weight:500;color:var(--text-secondary);cursor:pointer;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--duration-fast),border-color var(--duration-fast)}.ui-tabs__item .eco-icon{width:16px;height:16px}.ui-tabs__item:hover{color:var(--text-primary)}.ui-tabs__item--on{color:var(--text-action);border-bottom-color:var(--container-action)}.ui-tabs__badge{background:var(--surface-3);color:var(--text-secondary);border-radius:999px;padding:1px 7px;font-size:11px;font-weight:600}.ui-tabs__item--on .ui-tabs__badge{background:var(--sidebar-active);color:var(--text-action)}.ui-progress{width:100%;background:var(--surface-3);border-radius:999px;overflow:hidden}.ui-progress__fill{height:100%;border-radius:999px;transition:width var(--duration-normal) var(--ease-default)}.ui-chain{display:inline-flex;align-items:flex-start;gap:2px}.ui-chain__step{display:inline-flex;flex-direction:column;align-items:center;gap:3px;width:46px}.ui-chain__dot{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:var(--surface-3);color:var(--text-secondary);border:1px solid var(--outline-secondary)}.ui-chain__dot .eco-icon{width:12px;height:12px}.ui-chain__num{font-size:11px;font-weight:700}.ui-chain__name{font-size:10px;color:var(--text-tertiary);max-width:46px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}.ui-chain__line{height:2px;width:12px;margin-top:10px;background:var(--outline-secondary);border-radius:2px}.ui-chain__step--approved .ui-chain__dot{background:color-mix(in srgb,var(--container-success) 16%,transparent);border-color:var(--container-success);color:var(--container-success)}.ui-chain__step--rejected .ui-chain__dot{background:color-mix(in srgb,var(--container-error) 16%,transparent);border-color:var(--container-error);color:var(--container-error)}.ui-chain__step--current .ui-chain__dot{background:color-mix(in srgb,var(--container-warning) 18%,transparent);border-color:var(--container-warning);color:var(--container-warning);animation:ui-pulse 2s var(--ease-pulse) infinite}.ui-chain__step--current .ui-chain__name{color:var(--text-primary);font-weight:600}.ui-chain__line--approved{background:var(--container-success)}.ui-chain__line--rejected{background:var(--container-error)}@keyframes ui-pulse{0%,to{box-shadow:0 0 color-mix(in srgb,var(--container-warning) 35%,transparent)}50%{box-shadow:0 0 0 4px transparent}}.ui-filters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.ui-filters>*{min-width:0}@media(max-width:575px){.ui-filters{gap:8px}.ui-filters .ui-input-wrap,.ui-filters .ui-select{width:100%!important}.ui-page-head__title{font-size:20px}.ui-stat__value{font-size:21px}}.ui-select.ant-select .ant-select-selector,.ui-datepicker.ant-picker{border-radius:8px!important;border-color:var(--outline-primary)!important;background:var(--surface-1)!important;min-height:40px}.ui-select.ant-select-focused .ant-select-selector,.ui-datepicker.ant-picker-focused{border-color:var(--outline-action)!important;box-shadow:0 0 0 3px var(--state-focus-ring)!important}.ui-select.ant-select-sm .ant-select-selector{min-height:32px}.ui-list-row{display:flex;align-items:center;gap:12px;padding:9px 0;min-width:0;border-bottom:1px solid var(--outline-secondary)}.ui-list-row:last-child{border-bottom:0}.ui-list-row__icon{width:36px;height:36px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;background:var(--surface-2);color:var(--icon-secondary)}.ui-list-row__icon .eco-icon{width:18px;height:18px}.ui-link-btn{border:0;background:none;padding:0;font:inherit;font-size:14px;font-weight:500;color:var(--text-primary);cursor:pointer;text-align:left;display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ui-link-btn:hover{color:var(--text-action);text-decoration:underline}.ui-approval{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;border:1px solid var(--outline-secondary);border-radius:12px;background:var(--surface-2)}@media(max-width:575px){.ui-approval>div:last-child{width:100%}.ui-approval .btn{flex:1}}.ui-balance{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--outline-secondary);border-radius:12px;background:var(--surface-2)}.ui-preview{display:flex;flex-direction:column;gap:4px;padding:12px 14px;border-radius:10px;background:var(--surface-2);border:1px solid var(--outline-secondary)}.ui-inline-link{border:0;background:none;padding:0;font:inherit;font-size:12px;color:var(--text-action);cursor:pointer;text-align:left}.ui-inline-link:hover{text-decoration:underline}.vt-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--outline-secondary)}.vt-wrap{overflow-x:auto;overflow-y:hidden;padding:4px 0 8px}.vt-table{border-collapse:separate;border-spacing:2px 3px;width:100%;min-width:760px}.vt-day{min-width:24px;font-size:11px;font-weight:500;color:var(--text-tertiary);text-align:center;padding-bottom:4px}.vt-day--weekend{background:var(--surface-2);border-radius:4px}.vt-day--today{color:var(--text-action);font-weight:700}.vt-name-col{position:sticky;left:0;z-index:1;background:var(--surface-1);padding-right:12px;min-width:150px;max-width:180px;text-align:left}.vt-name{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.vt-cell{min-width:24px;height:26px;border-radius:4px;background:var(--surface-2)}.vt-cell--busy{opacity:.9}.vg{padding:12px 16px 16px}.vg__head,.vg__body{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.vg__weekday{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-tertiary);padding:4px 6px;text-align:center}.vg__body{margin-top:4px}.vg__cell{min-height:82px;border:1px solid var(--outline-secondary);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:4px;background:var(--surface-1)}.vg__cell--weekend{background:var(--surface-2)}.vg__cell--empty{border-style:dashed;opacity:.4}.vg__date{font-size:12px;font-weight:600;color:var(--text-secondary)}.vg__date--today{color:var(--text-reversed);background:var(--container-action);border-radius:6px;padding:1px 6px;align-self:flex-start}.vg__items{display:flex;flex-direction:column;gap:2px;min-width:0}.vg__item{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vg__more{font-size:11px;color:var(--text-tertiary)}@media(max-width:767px){.vg__cell{min-height:62px;padding:4px}.vg__item{font-size:10px}}.ui-step-num{width:26px;height:26px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;background:var(--sidebar-active);color:var(--text-action);font-size:12px;font-weight:700}.ui-rotate-90 .eco-icon{transform:rotate(90deg)}.ui-rotate-270 .eco-icon{transform:rotate(270deg)}.ui-avatar-btn{border:0;background:none;padding:0;cursor:pointer;border-radius:50%;flex-shrink:0}.ui-avatar-btn:focus-visible{outline:none;box-shadow:0 0 0 3px var(--state-focus-ring)}.dept-card .ui-card__body--flush{padding:0}.dept-list{display:flex;flex-direction:column}.dept-row{display:flex;align-items:center;gap:8px;padding:10px 16px 10px 0;border-bottom:1px solid var(--outline-secondary);min-height:46px}.dept-row:last-child{border-bottom:0}.dept-row:hover{background:var(--surface-2)}.dept-row>.eco-icon{width:17px;height:17px;color:var(--icon-secondary);flex-shrink:0}.dept-toggle{width:22px;height:22px;border:1px solid var(--outline-secondary);border-radius:6px;background:var(--surface-1);color:var(--icon-secondary);display:grid;place-items:center;cursor:pointer;flex-shrink:0}.dept-toggle:hover{border-color:var(--outline-action);color:var(--icon-action)}.dept-toggle .eco-icon{width:12px;height:12px}.dept-toggle-spacer{width:22px;flex-shrink:0}.dept-name{font-size:14px;font-weight:500;color:var(--text-primary);border:0;background:none;padding:0;font-family:inherit;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:260px}.dept-name:hover{color:var(--text-action);text-decoration:underline}.dept-row-spacer{flex:1}.dept-row-head{font-size:13px;color:var(--text-secondary);white-space:nowrap}.dept-row-actions{flex-shrink:0}.dept-swatch{width:28px;height:28px;border-radius:8px;border:2px solid transparent;cursor:pointer;padding:0}.dept-swatch--on{border-color:var(--text-primary);box-shadow:0 0 0 2px var(--surface-1) inset}@media(max-width:767px){.dept-row-head{display:none}.dept-name{max-width:150px}}.congrats-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:start}@media(max-width:1099px){.congrats-grid{grid-template-columns:minmax(0,1fr)}}.congrats-card-preview{display:block;width:100%;max-height:420px;object-fit:contain;border-radius:12px;background:var(--surface-2)}.congrats-frame-thumb{width:120px;height:120px;object-fit:cover;border-radius:10px;border:1px solid var(--outline-secondary)}.congrats-people{max-height:620px;overflow-y:auto;overflow-x:hidden}.congrats-person{padding:10px 0;border-bottom:1px solid var(--outline-secondary)}.congrats-person:last-child{border-bottom:0}:root{--shell-rail-w: 64px;--shell-nav-w: 250px;--shell-topbar-h: 58px;--shell-gutter: 24px;--shell-content-max: 1440px;--shell-ease: cubic-bezier(.32, .72, 0, 1)}.shell{min-height:100vh;background:var(--surface-page)}.shell__main{min-height:100vh;margin-left:var(--shell-rail-w);display:flex;flex-direction:column;transition:margin-left .26s var(--shell-ease)}.shell--pinned .shell__main{margin-left:var(--shell-nav-w)}.shell__content{flex:1;padding:var(--shell-gutter)}.shell__content-inner{max-width:var(--shell-content-max);margin:0 auto}.shell__sidebar{position:fixed;inset:0 auto 0 0;width:var(--shell-rail-w);background:var(--surface-1);border-right:1px solid var(--outline-secondary);display:flex;flex-direction:column;z-index:30;overflow:hidden;transition:width .26s var(--shell-ease),box-shadow .26s var(--shell-ease)}.shell__sidebar:hover,.shell__sidebar:has(:focus-visible),.shell--pinned .shell__sidebar{width:var(--shell-nav-w)}.shell:not(.shell--pinned) .shell__sidebar:hover,.shell:not(.shell--pinned) .shell__sidebar:has(:focus-visible){box-shadow:8px 0 32px #00000024}.shell__reveal{opacity:0;transform:translate(-6px);transition:opacity .16s ease,transform .22s var(--shell-ease);white-space:nowrap;pointer-events:none}.shell__sidebar:hover .shell__reveal,.shell__sidebar:has(:focus-visible) .shell__reveal,.shell--pinned .shell__reveal{opacity:1;transform:none;pointer-events:auto;transition-delay:60ms}.shell__brand{display:flex;align-items:center;gap:10px;height:var(--shell-topbar-h);padding:0 12px;flex-shrink:0;border-bottom:1px solid var(--outline-secondary);text-decoration:none}.shell__brand-icon{width:40px;height:40px;flex-shrink:0;display:grid;place-items:center;transition:opacity .14s ease}.shell__brand-icon img{width:30px;height:30px}.shell__brand-word{display:flex;align-items:center;min-width:0;margin-left:-40px}.shell__brand-word img{height:20px;width:auto;display:block}.shell__sidebar:hover .shell__brand-icon,.shell__sidebar:has(:focus-visible) .shell__brand-icon,.shell--pinned .shell__brand-icon{opacity:0}.shell__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:10px 8px 16px;display:flex;flex-direction:column;gap:2px;scrollbar-width:thin}.shell__nav-group{height:26px;display:flex;align-items:center;padding:0 8px;margin-top:10px;font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.shell__nav-sep{height:1px;margin:10px 12px;background:var(--outline-secondary);flex-shrink:0;transition:opacity .16s ease}.shell__sidebar:hover .shell__nav-sep,.shell__sidebar:has(:focus-visible) .shell__nav-sep,.shell--pinned .shell__nav-sep{opacity:0;height:0;margin:0}.shell__nav .nav-item{position:relative;display:flex;align-items:center;gap:14px;height:44px;padding:0 12px;border-radius:10px;color:var(--text-secondary);text-decoration:none;font-size:14px;font-weight:500;cursor:pointer;flex-shrink:0;border-left:0;transition:background .14s ease,color .14s ease}.shell__nav .nav-item .eco-icon{width:22px;height:22px;flex-shrink:0;color:var(--icon-secondary);transition:color .14s ease}.shell__nav .nav-item:hover{background:var(--surface-2);color:var(--text-primary)}.shell__nav .nav-item:hover .eco-icon{color:var(--icon-primary)}.shell__nav .nav-item-active,.shell__nav .nav-item-active:hover{background:color-mix(in srgb,var(--container-action) 12%,transparent);color:var(--text-action)}.shell__nav .nav-item-active .eco-icon{color:var(--icon-action)}.shell__nav .nav-item-active:before{content:"";position:absolute;left:0;top:9px;bottom:9px;width:3px;border-radius:0 3px 3px 0;background:var(--container-action)}.shell__nav .nav-item:focus-visible{outline:none;box-shadow:0 0 0 2px var(--state-focus-ring)}.shell__nav-dot{position:absolute;right:12px;width:7px;height:7px;border-radius:50%;background:var(--container-warning);transition:right .22s var(--shell-ease),top .22s var(--shell-ease)}.shell:not(.shell--pinned) .shell__sidebar:not(:hover):not(:has(:focus-visible)) .shell__nav-dot{right:14px;top:8px}.shell__sidebar-footer{flex-shrink:0;padding:8px;border-top:1px solid var(--outline-secondary);display:flex;align-items:center;gap:4px;min-height:52px}.shell__icon-btn{width:40px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font:inherit;font-size:12px;font-weight:600;flex-shrink:0;transition:background .14s ease,color .14s ease}.shell__icon-btn:hover{background:var(--surface-2);color:var(--text-primary)}.shell__icon-btn .eco-icon{width:18px;height:18px}.shell__lang-code{font-size:12px;font-weight:700;letter-spacing:.04em}.shell__sidebar-footer .theme-toggle{width:40px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);display:inline-grid;place-items:center;cursor:pointer;flex-shrink:0;transition:background .14s ease}.shell__sidebar-footer .theme-toggle:hover{background:var(--surface-2)}.shell__sidebar-footer .theme-toggle svg{width:18px;height:18px}.shell__version{margin-left:auto;padding-right:6px;font-size:11px;color:var(--text-tertiary);font-variant-numeric:tabular-nums}.ui-popover-scrim{position:fixed;inset:0;z-index:40;border:0;background:transparent;cursor:default}.ui-popover{position:absolute;z-index:41;min-width:200px;padding:6px;background:var(--surface-1);border:1px solid var(--outline-secondary);border-radius:12px;box-shadow:0 12px 32px #0000002e;display:flex;flex-direction:column;gap:2px;animation:ui-rise .14s var(--shell-ease)}.ui-popover--up{bottom:calc(100% + 8px);left:0}.ui-popover--right{top:calc(100% + 8px);right:0}.ui-popover__head{padding:8px 10px;display:flex;flex-direction:column;gap:1px;border-bottom:1px solid var(--outline-secondary);margin-bottom:4px}.ui-popover__item{display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--text-primary);font:inherit;font-size:14px;text-align:left;cursor:pointer;transition:background .14s ease}.ui-popover__item .eco-icon{width:16px;height:16px;color:var(--icon-secondary)}.ui-popover__item:hover{background:var(--surface-2)}.ui-popover__item--on{color:var(--text-action);background:color-mix(in srgb,var(--container-action) 12%,transparent)}.ui-popover__item--danger,.ui-popover__item--danger .eco-icon{color:var(--text-error)}.shell__topbar{position:sticky;top:0;z-index:20;height:var(--shell-topbar-h);flex-shrink:0;background:var(--surface-1);border-bottom:1px solid var(--outline-secondary);display:flex;align-items:center;gap:10px;padding:0 var(--shell-gutter)}.shell__topbar-spacer{flex:1}.shell__topbar-btn{width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:var(--icon-secondary);display:inline-grid;place-items:center;cursor:pointer;transition:background .14s ease,color .14s ease}.shell__topbar-btn:hover{background:var(--surface-2);color:var(--icon-primary)}.shell__topbar-btn .eco-icon{width:20px;height:20px}.shell__topbar-btn--on{background:color-mix(in srgb,var(--container-action) 12%,transparent);color:var(--icon-action)}.shell__user{display:flex;align-items:center;gap:10px;padding:4px 8px 4px 4px;border:0;border-radius:10px;background:transparent;cursor:pointer;font:inherit;text-align:left;max-width:280px;transition:background .14s ease}.shell__user:hover{background:var(--surface-2)}.shell__user-lines{display:flex;flex-direction:column;line-height:1.25;min-width:0}.shell__user-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell__user-mail{font-size:11px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shell__scrim{position:fixed;inset:0;background:#00000073;z-index:29;border:0;cursor:pointer;animation:ui-fade .16s ease}@media(max-width:991px){:root{--shell-gutter: 14px}.shell__main,.shell--pinned .shell__main{margin-left:0}.shell__sidebar,.shell--pinned .shell__sidebar{width:var(--shell-nav-w);transform:translate(-100%);box-shadow:none;transition:transform .26s var(--shell-ease)}.shell__sidebar:hover,.shell__sidebar:has(:focus-visible){width:var(--shell-nav-w);box-shadow:none}.shell--drawer-open .shell__sidebar{transform:translate(0);box-shadow:8px 0 40px #0006}.shell__reveal{opacity:1;transform:none;pointer-events:auto}.shell__brand-icon{opacity:0}.shell__nav-sep{opacity:0;height:0;margin:0}.shell:not(.shell--pinned) .shell__sidebar:not(:hover):not(:has(:focus-visible)) .shell__nav-dot{right:12px;top:auto}.shell__user-lines{display:none}.shell__user{max-width:none;padding:4px}}*,*:before,*:after{box-sizing:border-box}body{margin:0;padding:0}#root{min-height:100vh}.ant-layout-has-sider>.ant-layout{min-height:auto}.eco-icon>use{width:100%;height:100%}.eco-icon--spin{animation:eco-icon-spin 1s linear infinite}@keyframes eco-icon-spin{to{transform:rotate(360deg)}}.ant-layout-sider .ant-menu,.ant-layout-sider .ant-menu-sub{background:transparent}.ant-layout-sider .ant-menu-item,.ant-layout-sider .ant-menu-submenu-title{border-radius:6px;border-left:3px solid transparent;font-size:13px;font-weight:500}.ant-layout-sider .ant-menu .eco-icon{width:20px;height:20px}.ant-layout-sider .ant-menu-item-selected{background:color-mix(in srgb,var(--container-action) 10%,transparent)!important;color:var(--text-action)!important;border-left-color:var(--container-action)!important}.ant-layout-sider .ant-menu-item-selected .eco-icon{color:var(--icon-action)}.ant-layout-sider .ant-menu-item-selected:after{display:none}.org-children{display:flex;flex-wrap:nowrap;align-items:flex-start;justify-content:center}.org-child{position:relative;padding:24px 20px 0;display:flex;flex-direction:column;align-items:center}.org-child:before{content:"";position:absolute;top:0;left:50%;width:2px;height:24px;margin-left:-1px;background:var(--surface-3)}.org-child:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--surface-3)}.org-child:first-child:after{left:50%}.org-child:last-child:after{right:50%}.org-child:only-child:after{display:none}.ant-btn-primary:not(.ant-btn-dangerous):not(:disabled){background-color:var(--container-action)!important;border-color:var(--container-action)!important;color:var(--text-reversed)!important}.ant-btn-primary:not(.ant-btn-dangerous):not(:disabled):hover{background-color:var(--container-action-pressed)!important;border-color:var(--container-action-pressed)!important;color:var(--text-reversed)!important}.ant-avatar-icon{background:transparent}.ant-avatar-icon>.eco-icon{width:100%;height:100%;color:var(--icon-secondary)}.sidebar-brand{display:flex;align-items:center;gap:10px;padding:14px 14px 12px}.sidebar-brand .brand-mark{display:inline-block;width:36px;height:36px;background-image:url("data:image/svg+xml,%3csvg%20width='73'%20height='73'%20viewBox='0%200%2073%2073'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20clip-path='url(%23clip0_20001_33115)'%3e%3cpath%20d='M66.1%2072.5004H6.69998C3.29998%2072.5004%200.599976%2069.8004%200.599976%2066.4004V7.00039C0.599976%203.60039%203.29998%200.900391%206.69998%200.900391H66.1C69.5%200.900391%2072.2%203.60039%2072.2%207.00039V66.4004C72.2%2069.7004%2069.5%2072.5004%2066.1%2072.5004Z'%20fill='%233AF185'/%3e%3cpath%20d='M24.4%2030.1004C28.8%2030.1004%2032.5%2026.5004%2032.5%2022.0004C32.5%2017.6004%2028.9%2013.9004%2024.4%2013.9004C19.9%2013.9004%2016.3%2017.5004%2016.3%2022.0004C16.3%2026.5004%2019.9%2030.1004%2024.4%2030.1004Z'%20fill='white'/%3e%3cpath%20d='M48.7%2044.1998H32.8V39.8998H44.4C45.6%2039.8998%2046.4%2039.0998%2046.4%2037.8998V33.9998C46.4%2032.7998%2045.6%2031.9998%2044.4%2031.9998H32.8V28.0998H48.3C49.5%2028.0998%2050.3%2027.2998%2050.3%2026.0998V22.2998C50.3%2021.0998%2049.5%2020.2998%2048.3%2020.2998H26.1C24.9%2020.2998%2024.1%2021.0998%2024.1%2022.2998V44.7998C23.5%2045.0998%2023%2045.7998%2023%2046.5998C23%2047.6998%2023.9%2048.5998%2025%2048.5998C26.1%2048.5998%2027%2047.6998%2027%2046.5998C27%2045.7998%2026.6%2045.0998%2025.9%2044.7998V22.2998C25.9%2022.1998%2025.9%2022.1998%2025.9%2022.1998H26H48.2C48.3%2022.1998%2048.3%2022.1998%2048.3%2022.1998V22.2998V26.0998C48.3%2026.1998%2048.3%2026.1998%2048.3%2026.1998H48.2H31.9C31.4%2026.1998%2031%2026.5998%2031%2027.0998V32.8998C31%2033.3998%2031.4%2033.7998%2031.9%2033.7998H44.5C44.6%2033.7998%2044.6%2033.7998%2044.6%2033.7998V33.8998V37.6998C44.6%2037.7998%2044.6%2037.7998%2044.6%2037.7998H44.5H31.9C31.4%2037.7998%2031%2038.1998%2031%2038.6998V44.8998C31%2045.3998%2031.4%2045.7998%2031.9%2045.7998H48.7C48.8%2045.7998%2048.8%2045.7998%2048.8%2045.7998V45.8998V49.9998C48.8%2050.0998%2048.8%2050.0998%2048.8%2050.0998H48.7H38.1C37.6%2050.0998%2037.2%2050.4998%2037.2%2050.9998C37.2%2051.4998%2037.6%2051.8998%2038.1%2051.8998H48.7C49.9%2051.8998%2050.7%2051.0998%2050.7%2049.8998V46.0998C50.7%2044.8998%2050%2044.1998%2048.7%2044.1998Z'%20fill='%233A3A3A'/%3e%3c/g%3e%3cdefs%3e%3cclipPath%20id='clip0_20001_33115'%3e%3crect%20width='73'%20height='73'%20fill='white'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");background-size:contain;background-repeat:no-repeat;background-position:center;flex-shrink:0}.sidebar-brand .brand-stack{display:flex;flex-direction:column;gap:2px}.sidebar-brand .brand-stack__small{font-family:Russo One,sans-serif;font-size:11px;color:var(--text-tertiary);letter-spacing:.16em;line-height:1;text-transform:uppercase;white-space:nowrap}.sidebar-brand .brand-stack__big{font-family:Russo One,sans-serif;font-size:17px;color:var(--text-primary);letter-spacing:.04em;line-height:1;text-transform:uppercase;transform:translateY(6px);white-space:nowrap}.sidebar-bottom{margin-top:auto;padding:12px 14px;border-top:1px solid var(--surface-3);display:flex;align-items:center;justify-content:space-between;gap:8px}.sidebar-bottom .sidebar-version{font-size:12px;color:var(--text-tertiary)}.org-tree-table .ant-table-thead>tr>th{border-start-start-radius:0!important;border-start-end-radius:0!important}.oc-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px;border-bottom:1px solid var(--surface-3)}.oc-legend{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.oc-legend-item{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary)}.oc-legend-dot{width:12px;height:12px;border-radius:3px;display:inline-block}.oc-viewport{position:relative;overflow:hidden;height:76vh;-webkit-user-select:none;user-select:none;background-color:var(--surface-1);background-image:radial-gradient(var(--surface-3) 1px,transparent 1px);background-size:22px 22px}.oc-canvas{position:absolute;top:0;left:0;transform-origin:0 0;padding:40px 60px;display:inline-flex;flex-direction:column;align-items:flex-start}.oc-stub{width:2px;height:18px;background:var(--surface-3)}.oc-root{display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--surface-1);border:1px solid var(--surface-3);border-radius:12px;padding:12px 22px;box-shadow:0 2px 8px #0000001a}.oc-card{width:200px;background:var(--surface-1);border:1px solid var(--surface-3);border-top:3px solid var(--surface-3);border-radius:10px;padding:12px;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:pointer;box-shadow:0 2px 6px #00000014}.oc-card:hover{box-shadow:0 4px 12px #00000024}.oc-card-name{font-weight:600;font-size:13px;margin-top:6px;line-height:1.2}.oc-card-pos{font-size:11px;color:var(--text-secondary);margin-top:2px}.oc-node{display:flex;flex-direction:column;align-items:center}.oc-list{display:grid;grid-template-columns:max-content max-content;background:var(--surface-1);border:1px solid var(--surface-3);border-radius:10px;overflow:hidden;width:max-content}.oc-list-row{display:grid;grid-column:1 / -1;grid-template-columns:subgrid;align-items:center;border-bottom:1px solid var(--surface-3);cursor:pointer;font-size:12px}.oc-list-row:last-child{border-bottom:none}.oc-list-row:hover{background:var(--surface-2)}.oc-cell-name{display:flex;align-items:center;gap:8px;white-space:nowrap;padding:7px 18px 7px 14px;font-weight:500}.oc-cell-name .ant-avatar{flex:0 0 auto}.oc-name-text{white-space:nowrap}.oc-cell-role{color:var(--text-secondary);font-size:11px;white-space:nowrap;padding:7px 14px 7px 0}.oc-list-head{cursor:default;background:var(--surface-2)}.oc-list-head:hover{background:var(--surface-2)}.oc-list-head .oc-cell-name,.oc-list-head .oc-cell-role{font-weight:600;font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.oc-team-connector{position:relative;width:2px;min-height:32px;background:var(--surface-3);margin:0 auto;display:flex;align-items:center;justify-content:center}.oc-team-label{position:absolute;white-space:nowrap;background:var(--surface-1);border:1px solid var(--surface-3);border-radius:6px;padding:2px 10px;font-size:11px;font-weight:600;color:var(--text-secondary)}.oc-division{position:relative;border:2px solid var(--surface-3);border-radius:14px;padding:34px 20px 16px;display:flex;flex-direction:column;align-items:center}.oc-division-name{position:absolute;top:8px;left:14px;font-weight:700;font-size:14px;display:flex;align-items:center;gap:6px}.oc-photo{border-radius:50%;object-fit:cover;flex:0 0 auto;background:var(--surface-2);display:inline-block}.oc-photo-fallback{display:inline-flex;align-items:center;justify-content:center;color:var(--icon-secondary)}.oc-photo-fallback .eco-icon{width:72%;height:72%}.ant-table-wrapper .ant-table-content{overflow-x:auto}@media(max-width:991px){.ant-typography h2,h2.ant-typography{font-size:22px}.ant-card .ant-card-body{padding:16px}.ant-space-wrap>.ant-space-item .ant-input-affix-wrapper,.ant-space-wrap>.ant-space-item .ant-select{min-width:0}.oc-toolbar{flex-wrap:wrap;row-gap:8px}}.stat-tile{display:flex;align-items:center;gap:14px;min-width:0}.stat-tile__icon{width:44px;height:44px;border-radius:12px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--surface-2);color:var(--text-action)}.stat-tile__icon .eco-icon{width:22px;height:22px}.stat-tile__icon--success{color:var(--container-success)}.stat-tile__icon--warning{color:var(--container-warning)}.stat-tile__icon--info{color:var(--container-info)}.stat-tile__body{display:flex;flex-direction:column;min-width:0}.stat-tile__value{font-size:26px;font-weight:700;line-height:1.15;color:var(--text-primary);font-variant-numeric:tabular-nums}.stat-tile__label{font-size:13px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-hero{display:flex;align-items:center;gap:20px;padding-bottom:16px;border-bottom:1px solid var(--outline-secondary)}.profile-hero__avatar{position:relative;cursor:pointer;border-radius:50%;flex-shrink:0}.profile-hero__avatar-overlay{position:absolute;inset:0;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#00000073;color:#fff;opacity:0;transition:opacity .15s ease}.profile-hero__avatar:hover .profile-hero__avatar-overlay{opacity:1}.profile-hero__avatar-overlay .eco-icon{width:22px;height:22px}.profile-hero__id{min-width:0}
