*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;font-size:16px}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-main-bg);transition:background var(--transition-base), color var(--transition-base);margin:0;padding:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin:0}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}h4{font-size:var(--font-size-lg)}h5{font-size:var(--font-size-base)}h6{font-size:var(--font-size-sm)}p{color:var(--color-text-secondary);margin:0}a{color:var(--color-link);transition:color var(--transition-base);text-decoration:none}a:hover{color:var(--color-link-hover)}button{font-family:var(--font-family-primary);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0}button:disabled{cursor:not-allowed;opacity:.6}input,textarea,select{font-family:var(--font-family-primary);font-size:var(--font-size-base);color:var(--color-text-primary)}input:focus,textarea:focus,select:focus{outline:none}ul,ol{margin:0;padding:0;list-style:none}img{max-width:100%;height:auto;display:block}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface)}::-webkit-scrollbar-thumb{background:var(--color-border-subtle);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-focus)}::selection{background-color:var(--color-selected);color:var(--color-text-primary)}:focus-visible{outline:2px solid var(--color-link);outline-offset:2px}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-surface);border-radius:var(--radius-full);animation:1s linear infinite spin}.spinner-md{width:40px;height:40px}.spinner-lg{border-width:4px;width:48px;height:48px}.spinner-inline{border:2px solid;border-top-color:#0000;border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin;display:inline-block}.section-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em}.hidden-input{display:none}.flex-grow{flex-grow:1}.app-loading{background:var(--color-main-bg);justify-content:center;align-items:center;height:100vh;display:flex}.app-loading-content{color:var(--color-text-secondary);font-size:var(--font-size-lg);text-align:center}.app-loading-subtitle{font-size:var(--font-size-sm);margin-top:var(--spacing-sm);opacity:.7}.app-loading-debug{font-size:var(--font-size-xs);margin-top:var(--spacing-sm);opacity:.5}.chart-fill{width:100%;height:100%}.grid-filter-action-label{white-space:nowrap;margin-right:0}.grid-filter-action-label--end,.grid-filter-end{margin-left:auto}.grid-loading-center{padding:var(--spacing-lg) 0;justify-content:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.chart-state{justify-content:center;align-items:center;gap:var(--spacing-xs);flex-direction:column;display:flex}.flex-1{flex:1}.flex-half{flex:.5}.form-row-2col{gap:var(--spacing-md);display:flex}.MuiAlert-root.alert-spacing{margin-bottom:var(--spacing-sm)}.MuiAlert-root.alert-spacing-lg{margin-bottom:var(--spacing-md)}@keyframes dropdownFadeIn{0%{opacity:0;margin-top:-10px}to{opacity:1;margin-top:0}}@keyframes dropdownFadeInCentered{0%{opacity:0;transform:translate(-50%)translateY(-10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}@media (width<=768px){.dropdown-panel{min-width:260px}}@media (width<=480px){.dropdown-panel{min-width:auto;max-width:calc(100vw - var(--spacing-md) * 2)}}@media (width<=768px){.dashboard-grid-wrapper{height:360px}}@media (width<=768px){.grid-page-container{gap:var(--spacing-md)}.grid-page-grid-wrapper{height:60vh;min-height:420px;max-height:700px}}.MuiButton-containedPrimary:not(:disabled){color:var(--color-text-inverse)!important}.MuiButton-containedPrimary:disabled{opacity:.6;background-color:var(--color-border)!important;color:var(--color-text-muted)!important}.MuiButton-outlinedSecondary:not(:disabled){color:var(--color-text-secondary)!important}.MuiButton-outlinedSecondary:disabled{opacity:.6;border-color:var(--color-border)!important;color:var(--color-text-muted)!important}.MuiButton-outlinedError:not(:disabled){border-color:var(--color-error)!important;color:var(--color-error)!important}.MuiButton-outlinedError:disabled{opacity:.6;border-color:var(--color-border)!important;color:var(--color-text-muted)!important}.MuiPagination-root{justify-content:center;align-items:center;display:flex}.MuiPagination-ul{gap:var(--spacing-xs)!important}.MuiPaginationItem-root{color:var(--color-text-secondary)!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-normal)!important;border-radius:var(--radius-sm)!important;border:1px solid var(--color-border)!important;background-color:var(--color-surface)!important;min-width:32px!important;height:32px!important;transition:all var(--transition-fast)!important;margin:0!important}.MuiPaginationItem-root:hover:not(.Mui-disabled):not(.Mui-selected){background-color:var(--color-hover)!important;border-color:var(--color-border-hover)!important}.MuiPaginationItem-root.Mui-selected{background-color:var(--color-selected)!important;color:var(--color-text-primary)!important;border-color:var(--color-border)!important;font-weight:var(--font-weight-normal)!important}.MuiPaginationItem-root.Mui-selected:hover{background-color:var(--color-active)!important;border-color:var(--color-border-hover)!important}.MuiPaginationItem-root.Mui-disabled{color:var(--color-text-muted)!important;border-color:var(--color-border)!important;background-color:var(--color-surface)!important;opacity:.5!important;cursor:not-allowed!important}.MuiPaginationItem-root.MuiPaginationItem-previousNext,.MuiPaginationItem-root.MuiPaginationItem-firstLast{font-weight:var(--font-weight-normal)!important}.MuiPaginationItem-ellipsis{color:var(--color-text-muted)!important;background-color:#0000!important;border:none!important}.MuiPaginationItem-ellipsis:hover{background-color:#0000!important}.MuiOutlinedInput-root{background-color:var(--color-surface)!important;font-size:var(--font-size-sm)!important}.MuiInputBase-input{color:var(--color-text-primary)!important;font-size:var(--font-size-sm)!important}.MuiInputBase-input::placeholder{opacity:1;color:var(--color-text-muted)!important}.MuiInputBase-input::selection{background-color:var(--color-primary-light)!important;color:var(--color-text-primary)!important}.MuiInputLabel-root{color:var(--color-text-muted)!important;font-size:var(--font-size-sm)!important}.MuiOutlinedInput-root .MuiSvgIcon-root,.MuiOutlinedInput-root>svg,.MuiInputAdornment-root .MuiSvgIcon-root,.MuiInputAdornment-root>svg,.MuiSelect-icon{color:var(--color-text-muted)!important}.MuiOutlinedInput-notchedOutline{border-color:var(--color-border)!important}.MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--color-border-hover)!important}.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--color-border-focus)!important}.MuiAutocomplete-popper .MuiPaper-root{background-color:var(--color-surface)!important;box-shadow:var(--shadow-lg)!important}.MuiAutocomplete-popper .MuiAutocomplete-option{color:var(--color-text-muted)!important;font-size:var(--font-size-sm)!important}.MuiAutocomplete-popper .MuiAutocomplete-option:hover{background-color:var(--color-hover)!important}.MuiAutocomplete-popper .MuiAutocomplete-option[aria-selected=true]{background-color:var(--color-selected)!important}.MuiAutocomplete-popper .MuiAutocomplete-option[aria-selected=true]:hover{background-color:var(--color-active)!important}.MuiAutocomplete-popper .MuiAutocomplete-noOptions{color:var(--color-text-muted)!important;font-size:var(--font-size-sm)!important}.MuiMenu-paper{background-color:var(--color-surface)!important;box-shadow:var(--shadow-lg)!important}.MuiMenuItem-root{color:var(--color-text-primary)!important;font-size:var(--font-size-sm)!important}.MuiMenuItem-root:hover{background-color:var(--color-hover)!important}.MuiMenuItem-root.Mui-selected{background-color:var(--color-selected)!important}.MuiMenuItem-root.Mui-selected:hover{background-color:var(--color-active)!important}.MuiSwitch-root.MuiSwitch-sizeSmall{width:22px;height:10px;padding:0}.MuiSwitch-root.MuiSwitch-sizeSmall .MuiSwitch-switchBase{padding:2px}.MuiSwitch-root.MuiSwitch-sizeSmall .MuiSwitch-switchBase.Mui-checked{transform:translate(12px)}.MuiSwitch-root.MuiSwitch-sizeSmall .MuiSwitch-thumb{width:6px;height:6px;box-shadow:none;background-color:var(--color-text-inverse)}.MuiSwitch-root.MuiSwitch-sizeSmall .MuiSwitch-track{border-radius:5px;background-color:var(--color-border)!important;opacity:1!important}.MuiSwitch-root.MuiSwitch-sizeSmall .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background-color:var(--color-primary)!important;opacity:1!important}.MuiFormControlLabel-root .MuiSwitch-root.MuiSwitch-sizeSmall{margin-right:6px}.MuiFormControlLabel-label{font-size:var(--font-size-sm)!important;color:var(--color-text-secondary)!important}.MuiPickersTextField-root .MuiInputLabel-root,.MuiPickersInputBase-root,.MuiPickersInputBase-sectionContent{font-size:var(--font-size-xs)!important}.MuiPickersInputBase-root .MuiIconButton-root{padding:4px!important}.MuiPickersInputBase-root .MuiIconButton-root .MuiSvgIcon-root{font-size:1.1rem!important}.MuiPickersOutlinedInput-notchedOutline{border-color:var(--color-border)!important}.MuiPickersOutlinedInput-root:hover .MuiPickersOutlinedInput-notchedOutline{border-color:var(--color-border-hover)!important}.MuiPickersOutlinedInput-root.Mui-focused .MuiPickersOutlinedInput-notchedOutline{border-color:var(--color-border-focus)!important}.MuiPickersPopper-paper{border:1px solid var(--color-border);background-color:var(--color-surface)!important;box-shadow:var(--shadow-xl)!important;border-radius:var(--radius-lg)!important}.MuiPickersCalendarHeader-label{color:var(--color-text-primary)!important;font-weight:var(--font-weight-semibold)!important;font-size:var(--font-size-xs)!important}.MuiPickersCalendarHeader-switchViewButton,.MuiPickersArrowSwitcher-button{color:var(--color-text-secondary)!important}.MuiPickersCalendarHeader-switchViewButton:hover,.MuiPickersArrowSwitcher-button:hover{background-color:var(--color-hover)!important}.MuiDayCalendar-weekDayLabel{color:var(--color-text-muted)!important;font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-semibold)!important}.MuiPickerDay-root{color:var(--color-text-primary)!important;font-size:var(--font-size-xs)!important;border-radius:var(--radius-sm)!important}.MuiPickerDay-root:hover{background-color:var(--color-hover)!important}.MuiPickerDay-root.Mui-selected{background-color:var(--color-primary)!important;color:var(--color-text-inverse)!important;font-weight:var(--font-weight-semibold)!important}.MuiPickerDay-root.Mui-selected:hover{filter:brightness(1.1);background-color:var(--color-primary)!important}.MuiPickerDay-today:not(.Mui-selected){border-color:var(--color-primary)!important}.MuiPickerDay-root.Mui-disabled{opacity:.4;color:var(--color-text-muted)!important}.MuiPickerDay-dayOutsideMonth{opacity:.5;color:var(--color-text-muted)!important}.MuiPickersYear-yearButton{color:var(--color-text-primary)!important;font-size:var(--font-size-xs)!important;border-radius:var(--radius-sm)!important}.MuiPickersYear-yearButton:hover{background-color:var(--color-hover)!important}.MuiPickersYear-yearButton.Mui-selected{background-color:var(--color-primary)!important;color:var(--color-text-inverse)!important}.MuiToggleButtonGroup-root{gap:0}.MuiToggleButton-root{color:var(--color-text-secondary)!important;border-color:var(--color-border)!important;font-size:var(--font-size-sm)!important;font-weight:var(--font-weight-normal)!important;text-transform:none!important;transition:all var(--transition-fast)!important;padding:4px 12px!important}.MuiToggleButton-root:hover{background-color:var(--color-hover)!important}.MuiToggleButton-root.Mui-selected{background-color:var(--color-selected)!important;color:var(--color-text-primary)!important;font-weight:var(--font-weight-medium)!important}.MuiToggleButton-root.Mui-selected:hover{background-color:var(--color-active)!important}.MuiToggleButton-root.Mui-disabled{opacity:.5;color:var(--color-text-muted)!important;border-color:var(--color-border)!important}.MuiAccordion-root{background-color:var(--color-surface)!important;color:var(--color-text-primary)!important}.MuiAccordionSummary-root{min-height:36px!important;padding:0 var(--spacing-md)!important}.MuiAccordionSummary-root .MuiTypography-root{font-size:var(--font-size-sm)!important;color:var(--color-text-secondary)!important}.MuiAccordionSummary-expandIconWrapper{color:var(--color-text-muted)!important}.MuiAccordionDetails-root{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-md)!important}.MuiFormHelperText-root{font-size:var(--font-size-xs)!important;color:var(--color-text-tertiary)!important}.MuiFormHelperText-root.Mui-error{color:var(--color-error)!important}.MuiAlert-root{font-size:var(--font-size-sm)!important;border-radius:var(--radius-sm)!important}.MuiAlert-message{font-size:var(--font-size-sm)!important}.MuiDialog-root .MuiBackdrop-root{background-color:var(--color-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.MuiDialog-root .MuiDialog-paper{background-color:var(--color-tile-outer);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog);overflow:hidden}.MuiDialogTitle-root{padding:var(--spacing-lg)}.MuiDialogContent-root{padding:var(--spacing-xl)}.MuiDialog-root .MuiDialogTitle-root+.MuiDialogContent-root{padding-top:16px}.MuiDialogActions-root{padding:var(--spacing-lg)}@media (width<=768px){.tiles-strip{justify-content:center}.tiles-strip .tile-quarter{flex:1 1 0;width:auto;min-width:120px}.tiles-strip .tile-header{padding-top:var(--spacing-xs);margin-bottom:0}.tiles-strip .tile-title{font-size:var(--font-size-xs)}.tiles-strip .tile-content{padding:var(--spacing-xs) var(--spacing-xs) var(--spacing-sm)}.tiles-strip .metric-display{gap:var(--spacing-xs);padding:0}.tiles-strip .metric-value{font-size:var(--font-size-lg)}}@media (width<=768px){.snackbar-centered{top:50%!important;left:50%!important}}@media (width<=768px){.page-container{padding:var(--spacing-md)}.page-header-title{font-size:var(--font-size-xl)}.tiles-row{flex-flow:column}.tiles-row.tiles-strip{flex-flow:wrap}}@media (width<=600px){.page-header-content{flex-direction:column;align-items:flex-start}.page-header-meta{margin-left:0;margin-top:var(--spacing-sm);font-size:var(--font-size-sm)}}@media (width<=768px){.user-profile-left-column,.user-profile-right-column{width:100%}.user-profile-account-section{flex-direction:column;align-items:center}.user-profile-field-row,.user-profile-prefs-grid{grid-template-columns:1fr}.two-col-row{flex-direction:column}.two-col-divider{width:100%;height:1px}.user-profile-theme-tiles{flex-wrap:wrap;justify-content:center}}@media (width>=769px) and (width<=1024px){.user-profile-prefs-grid{grid-template-columns:repeat(2,1fr)}.two-col-row,.user-profile-theme-tiles{flex-wrap:wrap;justify-content:center}}.session-warning-dialog .MuiDialog-paper{max-width:380px;overflow:visible}.session-warning-body{padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);text-align:center;flex-direction:column;align-items:center;display:flex}.session-warning-icon-wrapper{border-radius:var(--radius-full);background:var(--color-warning-bg);width:56px;height:56px;margin-bottom:var(--spacing-md);transition:background var(--transition-base);justify-content:center;align-items:center;display:flex}.session-warning-icon-wrapper.critical{background:var(--color-error-bg)}.session-warning-icon{color:var(--color-warning);transition:color var(--transition-base);font-size:28px}.session-warning-icon-wrapper.critical .session-warning-icon{color:var(--color-error)}.session-warning-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--spacing-xs) 0}.session-warning-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-lg) 0;line-height:var(--line-height-normal);max-width:300px}.session-warning-countdown{align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);flex-direction:column;display:flex}.session-warning-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.session-warning-time{font-family:var(--font-family-mono);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-warning);transition:color var(--transition-base);line-height:1}.session-warning-time.critical{color:var(--color-error);animation:1s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:.5}}.session-warning-button{width:100%;padding:var(--spacing-sm) var(--spacing-xl);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);color:var(--color-text-inverse);background-color:var(--color-warning);border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-base);border:none}.session-warning-button:hover{background-color:var(--color-warning-hover)}.session-warning-button:active{background-color:var(--color-warning-hover);filter:brightness(.9)}.tile{background-color:var(--color-tile-inner);border-radius:var(--radius-md);transition:all var(--transition-base);flex-direction:column;display:flex}.tile-content{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg);flex:auto;overflow:auto}.tile-content:has(.bar-envelope-wrapper){min-height:var(--chart-height-compact);flex-direction:column;padding-bottom:0;display:flex;overflow:hidden}.tile-content:has(.bar-envelope-chart--tall){min-height:var(--chart-height-tall)}.tile-header{margin-bottom:var(--spacing-sm);padding:var(--spacing-sm) 0 var(--spacing-sm) var(--spacing-md);justify-content:space-between;align-items:center;display:flex}.tile-title-block{gap:var(--spacing-xxs);flex-direction:column;display:flex}.tile-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text-primary);align-items:center;min-height:1.75rem;margin:0;line-height:1;display:flex;position:relative}.tile-subtitle{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-muted);margin:0}.tile-header-right{align-items:center;gap:var(--spacing-xs);margin-right:var(--spacing-md);display:flex}.tile-header-actions{align-items:center;gap:var(--spacing-sm);display:flex}.tile-info-icon{font-size:var(--font-size-sm);color:var(--color-text-muted);top:50%;right:calc(-1 * var(--font-size-sm) - var(--spacing-xs));opacity:0;transition:opacity var(--transition-fast);cursor:help;position:absolute;transform:translateY(-50%)}.tile:hover .tile-info-icon{opacity:1}.tile-header-collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.tile-header-collapsible:has(~.tile-collapsed){margin-bottom:0;padding-bottom:.75rem}.tile-header-collapsible:has(~.tile-collapsed) .tile-subtitle{display:none}.tile-collapsed-summary{justify-content:center;align-items:center;gap:var(--spacing-sm);white-space:nowrap;flex:1;min-width:0;display:flex;overflow:visible}.tile-collapsed-summary-item{align-items:center;gap:var(--spacing-xs);display:inline-flex}.tile-collapsed-summary-item+.tile-collapsed-summary-item:before{content:"|";color:var(--color-border);font-size:var(--font-size-base);margin:0 var(--spacing-sm)}.tile-collapsed-summary-label{color:var(--color-text-primary);font-weight:var(--font-weight-light);font-size:var(--font-size-base);line-height:1}.tile-collapsed-summary-value{color:var(--color-text-primary);font-weight:var(--font-weight-normal);font-size:var(--font-size-base);line-height:1}.tile-collapse-btn.MuiIconButton-root{color:var(--color-text-muted);transition:transform var(--transition-base);padding:4px;transform:rotate(-180deg)}.tile-collapse-btn.MuiIconButton-root:hover{background-color:#0000}.tile-collapse-btn-collapsed{transform:rotate(0)!important}.tile-collapsible-wrapper{transition:grid-template-rows var(--transition-slow);grid-template-rows:1fr;display:grid}.tile-collapsible-wrapper.tile-collapsed{grid-template-rows:0fr}.tile-collapsible-inner{min-height:0;overflow:hidden}.tile-full{width:100%}.tile-half{width:calc(50% - var(--spacing-md) / 2)}.tile-third{width:calc(33.333% - var(--spacing-md) * 2 / 3)}.tile-quarter{width:calc(25% - var(--spacing-md) * 3 / 4)}.tile-two-thirds{width:calc(66.666% - var(--spacing-md) / 3)}.tile-three-quarters{width:calc(75% - var(--spacing-md) / 4)}.tile-auto{flex:1;width:auto}@media (width<=1024px){.tile-quarter,.tile-third{width:calc(50% - var(--spacing-md) / 2)}}@media (width<=768px){.tile-half,.tile-third,.tile-two-thirds,.tile-three-quarters{width:100%}.tile-quarter{width:calc(50% - var(--spacing-md) / 2)}.tile-content{padding:var(--spacing-md)}.tile-title{font-size:var(--font-size-base)}.tile-header{gap:var(--spacing-sm);flex-wrap:wrap}.tile-header-right{margin-right:var(--spacing-sm)}.tile-subtitle,.tile-collapsed-summary{display:none}}.tile-content .chart-container{width:100%;height:100%;min-height:300px}.status-chip{--_color:var(--color-text-muted);max-width:100%;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);white-space:nowrap;vertical-align:baseline;box-sizing:border-box;text-overflow:ellipsis;height:22px;color:var(--_color);border:1px solid color-mix(in srgb, var(--_color) 25%, transparent);background-color:#0000;align-items:center;gap:4px;padding:1px 8px 2px;display:inline-flex;overflow:hidden}.status-chip--success{--_color:var(--color-success)}.status-chip--error{--_color:var(--color-error)}.status-chip--warning{--_color:var(--color-warning)}.status-chip--info{--_color:var(--color-info)}.status-chip--primary{--_color:var(--color-primary)}.status-chip--neutral{--_color:var(--color-text-muted)}.status-chip__icon{flex-shrink:0;display:inline-flex}.segment-control{background:var(--color-hover);border-radius:var(--radius-full);padding:var(--spacing-xxs);gap:var(--spacing-xxs);display:inline-flex}.segment-control button{all:unset;padding:var(--spacing-xs) 12px;font-size:var(--font-size-xs);font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);color:var(--color-text-muted);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;line-height:var(--line-height-normal)}.segment-control button:hover{color:var(--color-text-secondary)}.segment-control button[aria-pressed=true]{background:var(--color-primary);color:var(--color-text-inverse);box-shadow:var(--shadow-sm)}.bar-envelope-controls{gap:var(--spacing-sm);margin-bottom:var(--spacing-xs);flex-wrap:wrap;flex-shrink:0;align-items:center;display:flex}.bar-envelope-wrapper{flex-direction:column;flex:1 1 0;min-height:0;display:flex}.bar-envelope-chart{flex:1 1 0;width:100%;min-height:0;position:relative}.bar-envelope-history-hint{top:var(--spacing-xs);text-align:center;z-index:1;opacity:.8;position:absolute;left:0;right:0}@media (width<=768px){.tile-content:has(.bar-envelope-wrapper){min-height:360px}.bar-envelope-controls{gap:var(--spacing-xs);row-gap:var(--spacing-xxs);margin-bottom:var(--spacing-xxs)}}.grid-overlay{width:100%;height:100%;padding:var(--spacing-md);box-sizing:border-box;background:var(--color-tile-inner);color:var(--color-text-secondary);font-family:var(--font-family-primary);font-size:var(--font-size-sm);flex-direction:column;justify-content:center;align-items:center;display:flex}.grid-loading-overlay{padding:var(--spacing-sm);justify-content:flex-start;align-items:stretch;gap:var(--spacing-xs)}.grid-loading-row{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-surface-elevated) 0%, var(--color-border-subtle) 50%, var(--color-surface-elevated) 100%);background-size:200% 100%;flex-shrink:0;height:32px;animation:1.4s ease-in-out infinite grid-shimmer}.grid-loading-row:nth-child(odd){animation-delay:.15s}@keyframes grid-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.grid-no-rows-overlay{text-align:center;gap:var(--spacing-sm);max-width:420px;margin:0 auto}.grid-no-rows-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.grid-no-rows-message{color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.grid-no-rows-action{margin-top:var(--spacing-sm)}.ag-row-pinned-total{font-weight:var(--font-weight-semibold)}.ag-row-pinned-total .ag-cell{color:var(--color-text-primary)}.grid-loading-cell{width:100%;height:100%;padding:0 var(--spacing-sm);box-sizing:border-box;align-items:center;display:flex}.grid-loading-cell-bar{border-radius:var(--radius-sm);background:linear-gradient(90deg, var(--color-surface-elevated) 0%, var(--color-border-subtle) 50%, var(--color-surface-elevated) 100%);background-size:200% 100%;width:70%;height:12px;animation:1.4s ease-in-out infinite grid-shimmer}.grid-page-container{gap:var(--spacing-md);flex-direction:column;min-width:0;display:flex;overflow:hidden}.grid-chrome-chart.grid-page-container{height:100%}.grid-page-grid-wrapper{min-height:420px}.grid-chrome-report .grid-page-grid-wrapper,.grid-chrome-setup .grid-page-grid-wrapper,.grid-chrome-minimal .grid-page-grid-wrapper{height:690px}.grid-chrome-chart .grid-page-grid-wrapper{flex:1;max-height:600px}.dashboard-grid-wrapper{height:260px;margin-bottom:calc(-1 * var(--spacing-md))}@media (width<=768px){.dashboard-grid-wrapper{height:360px}}.grid-page-loading{text-align:center;background-color:var(--color-tile-inner);color:var(--color-text-primary);flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.grid-page-loading-text{margin-top:var(--spacing-md);color:var(--color-text-primary)}.grid-page-loading .MuiCircularProgress-root{color:var(--color-text-secondary)!important}.grid-page-pagination-footer{flex-shrink:0;justify-content:center;margin-top:0;margin-bottom:0;padding-top:0;padding-bottom:0;display:flex}:is(.ag-cell-focus:has(.grid-action-btn),.ag-cell-range-selected:has(.grid-action-btn)){--ag-cell-focus-border-color:transparent;--ag-range-selection-background-color:transparent;box-shadow:none!important;background-color:#0000!important;border-color:#0000!important}.ag-cell[col-id=item_code],.ag-cell[col-id=item_name],.ag-cell[col-id=location_code],.ag-cell[col-id=ItemCode],.ag-cell[col-id=ItemName],.ag-cell[col-id=LocationCode]{cursor:pointer}.ag-row.inventory-row-active,.ag-row.forecast-row-active{background-color:var(--color-primary-light);box-shadow:inset 3px 0 0 var(--color-primary)}.ag-row.inventory-row-active:hover,.ag-row.forecast-row-active:hover{background-color:var(--color-primary-light)}.drill-down-dismiss{margin-left:var(--spacing-xs);border-radius:var(--radius-full);background-color:var(--color-text-tertiary);cursor:pointer;vertical-align:text-top;width:10px;height:10px;transition:background-color var(--transition-fast);border:none;margin-top:-1px;padding:0;font-size:0;display:inline-block;position:relative}.drill-down-dismiss:before,.drill-down-dismiss:after{content:"";background-color:var(--color-text-inverse);width:4px;height:1px;position:absolute;top:50%;left:50%}.drill-down-dismiss:before{transform:translate(-50%,-50%)rotate(45deg)}.drill-down-dismiss:after{transform:translate(-50%,-50%)rotate(-45deg)}.drill-down-dismiss:hover{background-color:var(--color-text-secondary)}.ag-row.po-overdue-row{color:var(--color-error)}.ag-row.promo-row-conflict{background-color:var(--color-error-bg)}.ag-row.promo-row-conflict:hover{background-color:var(--color-error-bg);filter:brightness(.97)}@media (width<=768px){.grid-page-container{gap:var(--spacing-md)}.grid-page-grid-wrapper{height:60vh;min-height:420px;max-height:700px}}.page-container{padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;min-height:100%;display:flex}.page-container>*{flex-shrink:0;flex-basis:auto}.tiles-row{gap:var(--spacing-md);flex-wrap:wrap;display:flex}.page-container>.tiles-row--grow{flex:1;min-height:0}.tiles-strip{background-color:var(--color-tile-inner);border-radius:var(--radius-md)}.tiles-strip .tile{background-color:#0000}.tiles-strip .tile-header{padding:var(--spacing-xs) 0 0 0;justify-content:center;margin-bottom:0}.tiles-strip .tile-title-block{text-align:center;align-items:center}.tiles-strip .tile-title{min-height:0;font-weight:var(--font-weight-medium);font-size:var(--font-size-xl);justify-content:center}.tiles-strip .tile-subtitle{font-size:var(--font-size-xs)}.tiles-strip .tile-info-icon{opacity:1;font-size:var(--font-size-xs)}.tiles-strip .tile-header-right:empty{display:none}.tiles-strip .tile-content{padding:var(--spacing-xxs) var(--spacing-sm) var(--spacing-sm)}.tiles-strip .metric-display{gap:var(--spacing-sm);padding:0}@media (width<=768px){.tiles-strip{justify-content:center}.tiles-strip .tile-quarter{flex:1 1 0;width:auto;min-width:120px}.tiles-strip .tile-header{padding-top:var(--spacing-xs);margin-bottom:0}.tiles-strip .tile-title{font-size:var(--font-size-xs)}.tiles-strip .tile-content{padding:var(--spacing-xs) var(--spacing-xs) var(--spacing-sm)}.tiles-strip .metric-display{gap:var(--spacing-xs);padding:0}.tiles-strip .metric-value{font-size:var(--font-size-lg)}}.home-kpi-tile>.tile-collapsible-wrapper>.tile-collapsible-inner>.tile-content,.home-kpi-tile>.tile-content{padding:0}.home-kpi-tile>.tile-header:not(:has(~.tile-collapsed)){margin-bottom:0;padding-bottom:0}.page-title{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-heading);padding:var(--spacing-sm) 0;margin:0}.page-header{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.page-header-content{align-items:center;gap:var(--spacing-md);display:flex}.page-header-icon{font-size:var(--font-size-4xl);color:var(--color-text-primary)}.page-header-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-heading)}.page-header-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:var(--spacing-xs)}.page-header-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-left:auto}.tile-header-meta{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.ag-row-master-expanded.ag-row .ag-cell{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.ag-row-detail>.ag-cell{padding:0!important}.ag-details-row{padding:var(--spacing-sm) var(--spacing-sm) var(--spacing-sm) var(--spacing-xl)}.ag-details-row .ag-center-cols-viewport{min-height:unset!important}.cell-success{background-color:var(--color-success-bg)!important;color:var(--color-success)!important}.cell-warning{background-color:var(--color-warning-bg)!important;color:var(--color-warning)!important}.cell-error{background-color:var(--color-error-bg)!important;color:var(--color-error)!important}.cell-neutral{background-color:var(--color-neutral-bg)!important;color:var(--color-neutral)!important}.cell-info{background-color:var(--color-info-bg)!important;color:var(--color-info)!important}.item-edit-dialog-content{padding-top:var(--spacing-xs)}.item-edit-select{font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.snackbar-alert{font-size:var(--font-size-base)}.snackbar-centered{left:calc(50% + var(--sidebar-width) / 2)!important;top:calc(50% + var(--top-menu-height) / 2)!important;transform:translate(-50%,-50%)!important}@media (width<=768px){.snackbar-centered{top:50%!important;left:50%!important}}.ag-cell-center-content{justify-content:center;align-items:center;height:100%;display:flex}.metric-display{padding:var(--spacing-lg);justify-content:center;align-items:center;gap:var(--spacing-md);flex-direction:column;display:flex}.metric-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1;position:relative}.metric-value.error{color:var(--color-error)}.metric-info-icon{color:var(--color-text-muted);top:0;right:calc(-1 * var(--font-size-sm) - var(--spacing-xs));cursor:help;position:absolute;font-size:var(--font-size-sm)!important}.abc-xyz-matrix-container{border:1px solid var(--color-border);border-radius:var(--radius-md);width:30%;margin:0 auto;overflow:hidden}.abc-xyz-matrix-container table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.abc-xyz-matrix-container thead tr{border-bottom:2px solid var(--color-border)}.abc-xyz-matrix-container tbody tr{border-bottom:1px solid var(--color-border)}.abc-xyz-matrix-container th{padding:var(--spacing-md);text-align:center}.abc-xyz-matrix-container th:first-child{text-align:left}.abc-xyz-matrix-container .abc-xyz-matrix-row-label{padding:var(--spacing-md);font-weight:var(--font-weight-bold)}.abc-xyz-matrix-container td{font-weight:var(--font-weight-normal);color:var(--color-text-secondary)}.abc-xyz-matrix-cell{padding:var(--spacing-md);text-align:center;transition:background-color var(--transition-fast)}.abc-xyz-matrix-cell-clickable{cursor:pointer}.abc-xyz-matrix-cell-clickable:hover{background-color:var(--color-hover)}.abc-xyz-matrix-cell-selected{background-color:var(--color-selected)}.connectors-panel-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-top:0}.connectors-panel-message{padding:var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.connectors-panel-message--error{color:var(--color-error)}.connectors-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);color:var(--color-text-primary)}.connectors-table thead th{padding:var(--spacing-sm);text-align:left;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.connectors-table tbody td{padding:var(--spacing-sm);border-bottom:1px solid var(--color-border-subtle);vertical-align:middle}.connectors-table tbody tr:last-child td{border-bottom:none}.connectors-status-cell{gap:var(--spacing-xs);flex-wrap:wrap;align-items:center;display:flex}.ag-cell .MuiButton-text{color:var(--color-text-secondary)!important;font-size:var(--font-size-sm)!important;font-family:inherit!important;font-weight:var(--font-weight-normal)!important}.ag-cell .MuiButton-text:hover{text-decoration:underline;color:var(--color-text-secondary)!important}.ag-cell .grid-action-btn{font-family:inherit!important;font-size:.75rem!important;font-weight:var(--font-weight-medium)!important;text-transform:none!important;border-radius:var(--border-radius)!important;min-width:auto!important;padding:2px 10px!important;line-height:1.6!important}.ag-cell .grid-action-btn.grid-action-btn-lg{padding:3px 12px!important;font-size:.85rem!important}.ag-cell .grid-action-btn:hover{filter:brightness(1.1);text-decoration:none!important}.ag-center-aligned-header .ag-header-cell-label{justify-content:center!important}.ag-center-aligned-header .ag-header-cell-comp-wrapper{justify-content:center!important;align-items:center!important;display:flex!important}.ag-center-aligned-cell{text-align:center!important;justify-content:center!important;align-items:center!important;display:flex!important}.ag-boolean-cell{justify-content:center;align-items:center;display:flex!important}.ag-boolean-cell input[type=checkbox]{appearance:none;border:1px solid var(--color-border);cursor:pointer;background:0 0;border-radius:2px;flex-shrink:0;width:16px;height:16px;position:relative}.ag-boolean-cell input[type=checkbox]:checked:after{content:"";border:solid var(--color-primary);border-width:0 1.5px 1.5px 0;width:5px;height:9px;position:absolute;top:1px;left:4px;transform:rotate(45deg)}.ag-cell-editable-hint{cursor:text;border-bottom:1px dashed var(--color-border)!important}.ag-cell-unsaved{font-weight:var(--font-weight-semibold);background-color:var(--color-primary-light)!important}.po-date-today{background-color:var(--color-warning-bg)!important}.po-date-overdue{background-color:var(--color-error-bg)!important}.ag-rich-select{width:max-content!important}.ag-cell.ag-cell-range-selected.ag-cell-focus{box-shadow:none!important;outline:none!important}.tile-placeholder{min-height:300px}.grid-dynamic-wrapper{width:100%;min-height:0;max-height:600px}@media (width<=768px){.page-container{padding:var(--spacing-md)}.page-header-title{font-size:var(--font-size-xl)}.tiles-row{flex-flow:column}.tiles-row.tiles-strip{flex-flow:wrap}}@media (width<=600px){.page-header-content{flex-direction:column;align-items:flex-start}.page-header-meta{margin-left:0;margin-top:var(--spacing-sm);font-size:var(--font-size-sm)}}.inventory-cell-empty{opacity:.6;font-style:italic;background-color:var(--color-surface)!important;color:var(--color-text-muted)!important}.inventory-cell-empty:after{content:"RESET";font-size:var(--font-size-xs);color:var(--color-text-muted)}[data-theme=dark] .inventory-cell-empty{background-color:var(--color-cell-empty-bg)!important;color:var(--color-text-muted)!important}.data-health-grid{width:var(--data-health-grid-width,100%);border:1px solid var(--color-border);border-radius:var(--radius-md);align-self:center;max-width:100%;overflow:hidden}.data-health-grid .ag-root-wrapper{border:none!important;border-radius:0!important}.drift-pct-high{color:var(--color-error-main,#d32f2f);font-weight:600}.drift-pct-medium{color:var(--color-warning-main,#ed6c02);font-weight:600}.drift-pct-low{color:var(--color-success-main,#2e7d32)}.ag-cell[col-id=RecommendedQuantity][aria-readonly=false]{cursor:pointer}.ag-cell[col-id=RecommendedQuantity][aria-readonly=false]:hover{background-color:var(--color-hover)!important}.po-detail-grid-padding{padding:var(--spacing-sm) var(--spacing-md) var(--spacing-sm) calc(var(--spacing-xl) - var(--spacing-xs))}.user-profile-left-column{gap:var(--spacing-md);width:calc(66.666% - var(--spacing-md) / 2);flex-direction:column;display:flex}.user-profile-right-column{gap:var(--spacing-md);width:calc(33.333% - var(--spacing-md) / 2);flex-direction:column;display:flex}.user-profile-account-section{gap:var(--spacing-xl);align-items:flex-start;display:flex}.user-profile-avatar-block{align-items:center;gap:var(--spacing-sm);flex-direction:column;flex-shrink:0;display:flex}.user-profile-account-fields{gap:var(--spacing-md);flex-direction:column;flex:1;min-width:0;display:flex}.user-profile-field-row{gap:var(--spacing-md);grid-template-columns:1fr 1fr;display:grid}.user-profile-prefs-grid{gap:var(--spacing-md);grid-template-columns:repeat(3,1fr);display:grid}.user-profile-theme-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-md);border-top:1px solid var(--color-border);margin-bottom:var(--spacing-sm)}.two-col-row{align-items:stretch;gap:var(--spacing-lg);display:flex}.two-col-divider{background:var(--color-border);flex-shrink:0;align-self:stretch;width:1px}.two-col-group{gap:var(--spacing-sm);flex-direction:column;display:flex}.two-col-group--fill{flex:1 1 0;min-width:0}.user-profile-theme-tiles{gap:var(--spacing-md);flex:1;display:flex}.user-profile-theme-tile{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border:1.5px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);cursor:pointer;transition:border-color var(--transition-fast), box-shadow var(--transition-fast), background-color var(--transition-fast);flex-direction:column;display:flex}.user-profile-theme-tile:hover{border-color:var(--color-border-hover);background:var(--color-surface-elevated)}.user-profile-theme-tile-selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);background:var(--color-primary-light)}.user-profile-theme-swatches{gap:var(--spacing-sm);display:flex}.user-profile-theme-mini{border:1px solid var(--color-border);border-radius:4px;flex-direction:column;width:56px;height:42px;display:flex;overflow:hidden}.user-profile-theme-mini-topbar{flex-shrink:0;height:5px}.user-profile-theme-mini-body{flex:1;min-height:0;display:flex}.user-profile-theme-mini-sidebar{flex-shrink:0;width:12px}.user-profile-theme-mini-content{flex-direction:column;flex:1;gap:3px;padding:4px;display:flex}.user-profile-theme-mini-card{border-radius:2px;flex:1;min-height:0}.user-profile-theme-tile-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.user-profile-chart-theme-swatches{gap:var(--spacing-xs);padding:var(--spacing-xs);display:flex}.user-profile-chart-theme-swatch{border-radius:50%;flex-shrink:0;width:14px;height:14px}.user-profile-password-grid{gap:var(--spacing-md);flex-direction:column;display:flex}.user-profile-password-action{justify-content:flex-end;display:flex}.user-profile-avatar-block .avatar-fallback-icon{color:var(--color-text-tertiary);opacity:1}.user-profile-avatar-block .avatar-image-wrapper{background-color:var(--color-surface-elevated)}.user-profile-readonly-list{gap:var(--spacing-md);flex-direction:column;display:flex}.user-profile-readonly-item{gap:var(--spacing-xxs);flex-direction:column;display:flex}.user-profile-readonly-item .MuiTypography-caption{color:var(--color-text-muted)}.user-profile-subscription-placeholder{min-height:120px;color:var(--color-text-muted);justify-content:center;align-items:center;display:flex}@media (width<=768px){.user-profile-left-column,.user-profile-right-column{width:100%}.user-profile-account-section{flex-direction:column;align-items:center}.user-profile-field-row,.user-profile-prefs-grid{grid-template-columns:1fr}.two-col-row{flex-direction:column}.two-col-divider{width:100%;height:1px}.user-profile-theme-tiles{flex-wrap:wrap;justify-content:center}}@media (width>=769px) and (width<=1024px){.user-profile-prefs-grid{grid-template-columns:repeat(2,1fr)}.two-col-row,.user-profile-theme-tiles{flex-wrap:wrap;justify-content:center}}.settings-section-divider{border-top:1px solid var(--color-border);margin:var(--spacing-xs) 0}.filter-toggle-wrapper{align-items:center;display:inline-flex}.filter-toggle-info{color:var(--color-text-muted);cursor:help;opacity:0;transition:opacity var(--transition-fast);margin-top:-6px;margin-left:-10px;line-height:1;display:inline-flex}.filter-toggle-wrapper:hover .filter-toggle-info{opacity:.7}.filter-toggle-info:hover{opacity:1!important}.ag-row-fulfillment-service{opacity:.7}.ag-row-fulfillment-service .ag-cell:first-child{border-left:3px solid var(--color-text-tertiary)}.confirm-dialog .MuiDialog-paper{max-width:420px}.confirm-dialog-content{gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);display:flex}.confirm-dialog-icon{border-radius:var(--radius-full);flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.confirm-dialog-icon--danger{background:var(--color-error-bg);color:var(--color-error)}.confirm-dialog-icon--warning{background:var(--color-warning-bg);color:var(--color-warning)}.confirm-dialog-icon--info{background:var(--color-primary-light);color:var(--color-primary)}.confirm-dialog-icon--success{background:var(--color-success-bg);color:var(--color-success)}.confirm-dialog-text{gap:var(--spacing-sm);flex-direction:column;min-width:0;padding-top:2px;display:flex}.confirm-dialog-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-normal);margin:0}.confirm-dialog-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.confirm-dialog-bullets{margin:var(--spacing-xs) 0 0 0;padding-left:var(--spacing-lg);list-style:outside}.confirm-dialog-bullets li{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin-bottom:2px}.confirm-dialog-detail{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin:0}.confirm-dialog-actions{justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface-elevated);border-top:1px solid var(--color-border);display:flex}.confirm-dialog-actions .MuiButton-root{text-transform:none;font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);font-size:var(--font-size-sm)}.search-filters-container{padding-top:var(--spacing-sm);gap:var(--spacing-md);flex-direction:column;margin-bottom:0;display:flex}.search-filters-stack{gap:var(--spacing-md);flex-flow:wrap;align-items:center;display:flex}.search-filters-autocomplete{flex:400px;min-width:400px;max-width:600px}.search-filters-group,.search-filters-location{flex:0 280px;min-width:200px}.search-filters-autocomplete .MuiInputBase-root,.search-filters-group .MuiInputBase-root,.search-filters-location .MuiInputBase-root{background-color:var(--color-surface);font-size:var(--font-size-sm)}.search-filters-legend{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border)}.search-filters-legend strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}@media (width<=1024px){.search-filters-autocomplete{min-width:300px;max-width:100%}.search-filters-group,.search-filters-location{min-width:200px}.search-filters-stack{justify-content:center}}@media (width<=900px){.search-filters-container{padding:var(--spacing-md)}.search-filters-stack{flex-direction:column;align-items:stretch}.search-filters-autocomplete,.search-filters-group,.search-filters-location{flex:auto;max-width:100%;min-width:100%!important}.search-filters-legend{text-align:center}}.override-cell-auto{color:var(--color-text-muted)}.override-cell-icon{vertical-align:super;color:var(--color-text-muted);margin-right:2px;font-size:0}.forecast-cell-promoted{color:var(--color-primary)!important}.grid-pagination{justify-content:flex-end;align-items:center;gap:var(--spacing-lg);font-size:var(--font-size-xs);color:var(--color-text-secondary);border-top:1px solid var(--color-border);background-color:var(--color-surface);border-radius:0 0 var(--radius-sm) var(--radius-sm);-webkit-user-select:none;user-select:none;flex-shrink:0;padding:6px 12px;display:flex}.grid-pagination-range{white-space:nowrap}.grid-pagination-controls{align-items:center;gap:2px;display:flex}.grid-pagination-btn{border-radius:var(--radius-sm);width:24px;height:24px;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.grid-pagination-btn:hover:not(:disabled){background-color:var(--color-hover);color:var(--color-text-primary)}.grid-pagination-btn:disabled{color:var(--color-text-tertiary);cursor:default;opacity:.5}.grid-pagination-page{white-space:nowrap;align-items:center;gap:4px;padding:0 4px;display:inline-flex}.grid-pagination-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);width:36px;height:22px;color:var(--color-text-primary);font-size:var(--font-size-xs);text-align:center;transition:border-color var(--transition-fast);outline:none;padding:0 4px;font-family:inherit}.grid-pagination-input:focus{border-color:var(--color-primary)}.dialog-form .MuiDialog-paper{max-height:90vh}.dialog-form .MuiDialogTitle-root{background-color:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em;justify-content:space-between;align-items:center;display:flex}.dialog-form .MuiDialogContent-root{padding:var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;display:flex}.dialog-form .dialog-form-section{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-top:var(--spacing-md);padding-bottom:var(--spacing-xs);border-bottom:1px solid var(--color-border)}.dialog-form.dialog-form--narrow .MuiDialog-paper{max-width:960px}.dialog-form .MuiDialogActions-root{background-color:var(--color-surface-elevated);border-top:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-lg)}.dialog-form .MuiDialogActions-root .MuiButton-root{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);text-transform:none}.forecast-tooltip{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);padding:var(--spacing-sm) var(--spacing-md);min-width:180px;font-size:var(--font-size-xs);font-family:var(--font-family-primary);line-height:var(--line-height-normal)}.forecast-tooltip-row{justify-content:space-between;align-items:baseline;gap:var(--spacing-lg);padding:2px 0;display:flex}.forecast-tooltip-label{white-space:nowrap}.forecast-tooltip-value{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;text-align:right}.forecast-tooltip-system .forecast-tooltip-label,.forecast-tooltip-system .forecast-tooltip-value{color:var(--color-text-muted)}.forecast-tooltip-user .forecast-tooltip-label,.forecast-tooltip-user .forecast-tooltip-value{color:var(--color-text-primary)}.forecast-tooltip-promo .forecast-tooltip-label,.forecast-tooltip-promo .forecast-tooltip-value{color:var(--color-primary)}.forecast-tooltip-divider{border-top:1px solid var(--color-border);margin:3px 0}.forecast-tooltip-final .forecast-tooltip-label{color:var(--color-text-primary)}.forecast-tooltip-final .forecast-tooltip-value{color:var(--color-text-primary);font-weight:var(--font-weight-bold)}.history-cell{color:var(--color-text-muted);background-color:var(--color-surface-elevated)!important}.history-header-group{background-color:var(--color-surface-elevated)!important}.history-col-header{background-color:var(--color-surface-elevated)!important;color:var(--color-text-muted)!important}.forecast-header-group{border-left:2px solid var(--color-primary)!important}.forecast-first-cell{border-left:2px solid var(--color-border)!important}:root{--promo-active:var(--color-primary);--promo-draft:var(--color-text-muted);--promo-indicator:var(--color-primary);--promo-label-width:140px}.promo-timeline-header{display:flex}.promo-timeline-month{text-align:center;padding:var(--spacing-xs) 0;border-left:1px solid var(--color-border);flex:1;min-width:80px}.promo-timeline-month-current{background-color:var(--color-primary-light)}.promo-timeline-body{gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-direction:column;display:flex}.promo-timeline-row{align-items:center;height:28px;display:flex}.promo-timeline-label{width:var(--promo-timeline-label-width,120px);padding-right:var(--spacing-sm);text-align:right;font-size:var(--font-size-xs);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;z-index:2;background-color:var(--color-tile-outer);flex-shrink:0;position:sticky;left:0;overflow:hidden}.promo-timeline-track{background:var(--color-surface-elevated);border-radius:var(--radius-sm);flex:1;height:20px;position:relative}.promo-timeline-bar{border-radius:var(--radius-sm);min-width:4px;height:16px;transition:opacity var(--transition-fast);z-index:1;position:absolute;top:2px}.promo-timeline-bar:hover{opacity:.85}.promo-timeline-bar-pre{opacity:.35}.promo-timeline-today{border-left:2px dashed var(--color-primary);opacity:.5;z-index:2;pointer-events:none;width:1px;position:absolute;top:0;bottom:0}.page-container>.tile:has(.reports-hub-list)>.tile-content{padding:0}.reports-hub-list{flex-direction:column;display:flex}.reports-hub-row{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast);cursor:pointer;text-decoration:none;display:flex}.reports-hub-row:last-child{border-bottom:none}.reports-hub-row:hover{background-color:var(--color-hover)}.reports-hub-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.reports-hub-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.reports-hub-row-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.reports-hub-row-question{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.reports-hub-chevron{color:var(--color-text-tertiary);transition:transform var(--transition-fast), color var(--transition-fast);flex-shrink:0}.reports-hub-row:hover .reports-hub-chevron{color:var(--color-text-secondary);transform:translate(2px)}.reports-hub-row-last{border-radius:0 0 var(--radius-md) var(--radius-md);border-bottom:none}.report-kpi-wrapper{background-color:var(--color-tile-inner);border-radius:var(--radius-md)}.report-kpi-header{padding:var(--spacing-sm) 0 .75rem var(--spacing-md);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;display:flex}.report-kpi-header-left{align-items:center;gap:var(--spacing-xs);display:flex}.report-kpi-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text-primary);align-items:center;min-height:1.75rem;line-height:1;display:inline-flex}.report-kpi-spinner{color:var(--color-text-muted);animation:1s linear infinite report-kpi-spin}@keyframes report-kpi-spin{to{transform:rotate(360deg)}}.report-kpi-collapse-btn{min-height:1.75rem;margin-right:var(--spacing-md);color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:transform var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex;transform:rotate(-180deg)}.report-kpi-collapse-btn:hover{color:var(--color-text-secondary)}.report-kpi-collapse-btn-collapsed{transform:rotate(0)}.report-kpi-collapsed-summary{white-space:nowrap;flex:1;justify-content:center;align-items:baseline;gap:0;min-width:0;display:flex;overflow:hidden}.report-kpi-collapsed-item{align-items:baseline;gap:3px;display:inline-flex}.report-kpi-collapsed-item+.report-kpi-collapsed-item:before{content:"|";color:var(--color-border);font-size:var(--font-size-base);margin:0 var(--spacing-sm)}.report-kpi-collapsed-value{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);color:var(--color-text-primary);line-height:1}.report-kpi-collapsed-label{font-size:var(--font-size-base);font-weight:var(--font-weight-light);color:var(--color-text-primary)}.report-kpi-body{transition:grid-template-rows var(--transition-slow);grid-template-rows:1fr;display:grid}.report-kpi-body-collapsed{grid-template-rows:0fr}.report-kpi-body-inner{min-height:0;overflow:hidden}.report-kpi-strip{gap:var(--spacing-md);padding:0 var(--spacing-sm) var(--spacing-sm);flex-wrap:wrap;display:flex}.report-kpi-footnote{padding:0 var(--spacing-md) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:right}.report-kpi-card{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);flex-direction:column;flex:1;min-width:120px;display:flex;position:relative}.report-kpi-card-info{color:var(--color-text-muted);cursor:help;opacity:0;transition:opacity var(--transition-fast);line-height:1;position:absolute;top:4px;right:4px}.report-kpi-card:hover .report-kpi-card-info{opacity:.7}.report-kpi-card-info:hover{opacity:1!important}.report-kpi-value{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.2}.report-kpi-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;text-align:center;justify-content:center;align-items:center;gap:4px;display:flex}.report-kpi-clickable{cursor:pointer;transition:border-color .15s,box-shadow .15s}.report-kpi-clickable:hover,.report-kpi-active{border-color:var(--color-primary)}.report-kpi-error .report-kpi-value{color:var(--color-error)}.report-kpi-warning .report-kpi-value{color:var(--color-warning)}.report-kpi-success .report-kpi-value{color:var(--color-success)}.report-kpi-neutral .report-kpi-value{color:var(--color-neutral)}.report-kpi-info .report-kpi-value{color:var(--color-info)}@media (width<=768px){.report-kpi-strip{justify-content:center}.report-kpi-card{min-width:100px;padding:var(--spacing-xs) var(--spacing-md)}.report-kpi-value{font-size:var(--font-size-base)}.report-kpi-collapsed-summary{display:none}}.progress-bar-cell{align-items:center;gap:6px;width:100%;height:100%;display:flex}.progress-bar-track{background-color:var(--color-border);border-radius:3px;width:60px;height:6px;overflow:hidden}.progress-bar-fill{height:100%;width:var(--progress-bar-width,0%);background-color:var(--color-neutral);border-radius:3px;transition:width .3s}.progress-bar-label{font-size:var(--font-size-xs);text-align:right;min-width:36px}.stockout-risk-legend{align-items:center;gap:var(--spacing-md);margin:var(--spacing-sm) var(--spacing-md) var(--spacing-xs);display:flex}@media (width<=768px){.stockout-risk-legend{display:none}}.stockout-risk-legend-label{font-weight:500}.stockout-risk-legend-item{align-items:center;gap:var(--spacing-xxs);display:inline-flex}.excess-npi-badge{color:var(--color-info,#0288d1);background-color:var(--color-info-bg,#e1f5fe);border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.excess-group-tinted .ag-header-group-cell-label,.excess-group-tinted,.excess-col-tinted{background-color:var(--color-surface-elevated,#f5f7fa)}.excess-group-separator{border-right:2px solid var(--color-border,#dde1e6)!important}.staff-column .ag-header-cell-text{color:var(--color-warning)}.dead-stock-aging-chip{border-radius:var(--radius-sm,4px);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:.02em;white-space:nowrap;align-items:center;padding:2px 8px;display:inline-flex}.calendar-editor{gap:var(--spacing-lg);padding:var(--spacing-sm) 0;flex-direction:column;display:flex}.calendar-field{width:100%}.calendar-section{margin-top:var(--spacing-md)}.calendar-section-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.05em}.calendar-days-grid{gap:var(--spacing-xs);margin-top:var(--spacing-sm);grid-template-columns:repeat(7,1fr);display:grid}.calendar-day-card{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:var(--spacing-xs);border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.calendar-day-card.working-day{background-color:var(--color-primary-light);border-color:var(--color-primary)}.calendar-day-card.working-day .calendar-day-label,.calendar-day-card.working-day .calendar-day-status{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.calendar-day-card.non-working-day{background-color:var(--color-warning-bg);border-color:var(--color-warning)}.calendar-day-card.non-working-day .calendar-day-label,.calendar-day-card.non-working-day .calendar-day-status{color:var(--color-warning)}.calendar-day-card:hover{box-shadow:var(--shadow-sm)}.calendar-day-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);text-transform:uppercase}.calendar-day-status{font-size:var(--font-size-sm);line-height:1}.calendar-days-view{gap:var(--spacing-sm);flex-direction:column;height:100%;display:flex}.calendar-month-nav{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-xs) 0;display:flex}.calendar-month-label{font-weight:var(--font-weight-semibold);text-align:center;min-width:160px}.calendar-grid-header{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-grid-header-cell{text-align:center;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);padding:var(--spacing-xs);text-transform:uppercase}.calendar-grid{transition:opacity var(--transition-fast);flex-direction:column;flex:1;gap:2px;display:flex}.calendar-grid.calendar-grid-loading{opacity:.4;pointer-events:none}.calendar-grid-row{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.calendar-grid-cell{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);padding:var(--spacing-xs);-webkit-user-select:none;user-select:none;background:var(--color-bg-base,white);border:1px solid var(--color-border);font:inherit;color:inherit;text-align:center;flex-direction:column;justify-content:flex-start;align-items:center;display:flex;position:relative;overflow:hidden}.calendar-grid-cell.empty{cursor:default;background:0 0;border-color:#0000}.calendar-grid-cell.kind-working{background-color:var(--color-bg-base,white)}.calendar-grid-cell.kind-weekend{background-color:var(--color-surface-elevated);color:var(--color-text-secondary)}.calendar-grid-cell.kind-holiday{background-color:var(--color-warning-bg);border-color:var(--color-warning)}.calendar-grid-cell.kind-exception{background-color:var(--color-warning-bg);border-color:var(--color-warning);box-shadow:inset 0 0 0 1px var(--color-warning)}.calendar-grid-cell.today{outline:2px solid var(--color-primary);outline-offset:-2px}.calendar-grid-cell:not(.empty):hover{box-shadow:var(--shadow-sm);z-index:1;transform:translateY(-1px)}.calendar-grid-date{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:1.1}.calendar-grid-cell.today .calendar-grid-date{font-weight:var(--font-weight-semibold);color:var(--color-primary)}.calendar-grid-name{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin-top:2px;font-size:.625rem;line-height:1.2;overflow:hidden}.calendar-grid-cell.kind-holiday .calendar-grid-name,.calendar-grid-cell.kind-exception .calendar-grid-name{color:var(--color-warning);font-weight:var(--font-weight-medium)}.calendar-legend{justify-content:center;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) 0;font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.calendar-legend-item{align-items:center;gap:var(--spacing-xs);display:flex}.calendar-legend-dot{border:1px solid var(--color-border);border-radius:50%;flex-shrink:0;width:10px;height:10px}.calendar-legend-dot.kind-working{background-color:var(--color-bg-base,white)}.calendar-legend-dot.kind-weekend{background-color:var(--color-surface-elevated)}.calendar-legend-dot.kind-holiday,.calendar-legend-dot.kind-exception{background-color:var(--color-warning-bg);border-color:var(--color-warning)}.calendar-legend-dot.today-marker{border-color:var(--color-primary);background-color:#0000;border-width:2px}.calendar-popover{padding:var(--spacing-md);gap:var(--spacing-sm);flex-direction:column;min-width:260px;max-width:320px;display:flex}.calendar-popover-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.calendar-popover-hint{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.calendar-popover-actions{justify-content:flex-end;gap:var(--spacing-xs);margin-top:var(--spacing-xs);display:flex}.calendar-overrides{gap:var(--spacing-sm);flex-direction:column;display:flex}.calendar-overrides-header{justify-content:space-between;align-items:center;display:flex}.calendar-overrides-count{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.calendar-overrides-empty{font-size:var(--font-size-xs);color:var(--color-text-muted);padding:var(--spacing-sm) 0;text-align:center;font-style:italic}.calendar-overrides-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.calendar-overrides-row{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);background:var(--color-surface-elevated);font-size:var(--font-size-sm);display:flex}.calendar-overrides-row:hover{background:var(--color-hover)}.calendar-overrides-date{font-weight:var(--font-weight-medium);color:var(--color-text-primary);min-width:90px}.calendar-overrides-name{color:var(--color-text-secondary);flex:1}.calendar-overrides-unnamed{color:var(--color-text-muted)}.calendar-overrides-form{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm);background:var(--color-surface-elevated);border-radius:var(--radius-sm);flex-wrap:wrap;display:flex}.calendar-empty-state{padding:var(--spacing-3xl) var(--spacing-md);color:var(--color-text-secondary);text-align:center;justify-content:center;align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.calendar-empty-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.calendar-loading{padding:var(--spacing-2xl);justify-content:center;align-items:center;gap:var(--spacing-md);color:var(--color-text-secondary);flex-direction:column;display:flex}.calendar-modal-header{background-color:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-lg);align-items:center;gap:var(--spacing-sm);display:flex}.calendar-modal-icon{color:var(--color-link);font-size:18px}.calendar-modal-header-content{flex-grow:1}.calendar-modal-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.calendar-modal-name-display{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);font-family:var(--font-family-primary);color:var(--color-text-primary);line-height:var(--line-height-tight);border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast);text-align:left;background:0 0;border:none;max-width:100%;margin-left:-4px;padding:2px 6px 2px 4px;display:inline-flex}.calendar-modal-name-text{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.calendar-modal-name-pencil{color:var(--color-text-secondary);opacity:.7;transition:opacity var(--transition-fast), color var(--transition-fast);flex-shrink:0}.calendar-modal-name-display:hover,.calendar-modal-name-display:focus-visible{background-color:var(--color-hover);outline:none}.calendar-modal-name-display:hover .calendar-modal-name-pencil,.calendar-modal-name-display:focus-visible .calendar-modal-name-pencil{color:var(--color-primary);opacity:1}.calendar-modal-subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin-top:2px}.calendar-modal-close-button{color:var(--color-text-secondary)}.calendar-modal-close-button:hover{background-color:var(--color-hover)}.calendar-modal-content{padding:var(--spacing-lg);background-color:var(--color-tile-outer);overflow-y:auto}.calendar-modal-content .calendar-editor{gap:var(--spacing-sm);max-width:400px;margin:0 auto;padding:0}.calendar-modal-content .calendar-section{margin-top:var(--spacing-sm)}.calendar-modal-content .calendar-section-title{font-size:var(--font-size-xs);margin-bottom:var(--spacing-xs);text-align:center}.calendar-modal-content .calendar-field .MuiFormLabel-root,.calendar-modal-content .calendar-field .MuiFormControlLabel-label,.calendar-modal-content .calendar-field .MuiTypography-root{font-size:var(--font-size-xs)}.calendar-modal-content .calendar-field .MuiFormControlLabel-root{margin-top:-4px;margin-bottom:-4px}.calendar-modal-content .calendar-days-view{gap:2px;max-width:400px;height:auto;margin:0 auto}.calendar-modal-content .calendar-month-nav{gap:var(--spacing-sm);padding:0}.calendar-modal-content .calendar-month-label{font-size:var(--font-size-xs);min-width:120px}.calendar-modal-section{margin-bottom:var(--spacing-sm)}.calendar-modal-section:last-child{margin-bottom:0}.calendar-modal-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--spacing-sm);text-align:center}.calendar-modal-assigned-list{gap:var(--spacing-xs);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.calendar-modal-assigned-item{align-items:center;gap:var(--spacing-xs);font-family:var(--font-family-primary);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-primary);display:flex}.calendar-modal-no-assigned{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;font-style:italic}.calendar-modal-footer.MuiDialogActions-root{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface-elevated);border-top:1px solid var(--color-border);justify-content:center;gap:var(--spacing-sm)}@media (width<=768px){.calendar-day-label{font-size:.65rem}}.avatar-upload-container{position:relative}.avatar-image-wrapper{background-color:var(--color-surface);border-radius:50%;justify-content:center;align-items:center;display:flex;overflow:hidden}.avatar-image-wrapper img{object-fit:cover;width:100%;height:100%;display:block}.avatar-fallback-icon{color:var(--color-top-menu-text);opacity:.4;width:100%!important;height:100%!important}.avatar-upload-loading{background-color:var(--color-overlay);z-index:var(--z-sticky);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.avatar-upload-actions{gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-base);z-index:var(--z-fixed);pointer-events:none;display:flex;position:absolute;bottom:-6px;left:50%;transform:translate(-50%)}.avatar-upload-actions>*{pointer-events:auto}.avatar-upload-container:hover .avatar-upload-actions{opacity:1}.avatar-upload-container:hover .avatar-fallback-icon{opacity:.4;transition:opacity var(--transition-base)}.avatar-upload-button,.avatar-delete-button{background-color:var(--color-top-menu-bg)!important;color:var(--color-top-menu-text)!important;box-shadow:0 2px 8px var(--color-overlay-light)!important;width:24px!important;height:24px!important;min-width:unset!important;padding:0!important}.avatar-upload-button:hover,.avatar-delete-button:hover{background-color:var(--color-top-menu-bg)!important;color:var(--color-top-menu-text)!important}.avatar-upload-button svg,.avatar-delete-button svg{color:inherit;font-size:var(--font-size-sm)!important}.bu-btn{border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:var(--transition-fast);white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:7px 18px;line-height:1.4;display:inline-flex}.bu-btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.bu-btn-primary:hover{filter:brightness(1.1)}.bu-btn-ghost{border:1px solid var(--color-border);color:var(--color-text-secondary);background:0 0}.bu-btn-ghost:hover{border-color:var(--color-border-hover);background:var(--color-hover)}.bu-btn-download{font-size:var(--font-size-xs);padding:5px 12px}.bu-field{gap:var(--spacing-xs);flex-direction:column;display:flex}.bu-field-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.bu-select{appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:inherit;font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;transition:var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding:8px 32px 8px 12px}.bu-select:hover{border-color:var(--color-border-hover)}.bu-select:focus{border-color:var(--color-primary);outline:none}.bu-banner{border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:10px 14px}.bu-banner-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid var(--color-error)}.bu-banner-ok{background:var(--color-success-bg);color:var(--color-success);border:1px solid var(--color-success)}.bu-banner-warn{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid var(--color-warning)}.bu-banner-filename{opacity:.8;font-weight:400}.bu-file-row{justify-content:space-between;align-items:center;gap:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:10px 14px;display:flex}.bu-file-info{gap:var(--spacing-xxs);flex-direction:column;min-width:0;display:flex}.bu-file-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.bu-file-meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.bu-file-actions{gap:var(--spacing-sm);flex-shrink:0;display:flex}.bu-results{gap:var(--spacing-md);flex-direction:column;display:flex}.bu-chips{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.bu-results-footer{padding-top:var(--spacing-md);border-top:1px solid var(--color-border);justify-content:center;display:flex}.bu-progress{gap:var(--spacing-sm);flex-direction:column;display:flex}.bu-progress-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.bu-actions-center{text-align:center}.bu-panel-center{justify-content:center;display:flex}.bu-panel-card{background:var(--color-tile-inner);border-radius:var(--radius-lg);width:100%;max-width:540px;padding:var(--spacing-lg) var(--spacing-xl)}.bu-panel-selectors{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);display:flex}.bu-panel-selectors .bu-field{flex:1}.bu-panel-upload-zone{gap:var(--spacing-md);flex-direction:column;display:flex}.bu-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl) var(--spacing-lg);text-align:center;cursor:pointer;transition:var(--transition-fast)}.bu-dropzone:hover{border-color:var(--color-primary);background:var(--color-primary-light)}.bu-dropzone-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-xs)}.bu-dropzone-hint{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--spacing-md)}.bu-empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (width<=600px){.bu-panel-selectors{flex-direction:column}.bu-panel-card{padding:var(--spacing-md)}.bu-file-row{flex-direction:column;align-items:flex-start}}.forecast-chart-container{background-color:var(--color-surface);border-radius:var(--radius-lg);width:100%;height:100%;box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base);flex-direction:column;flex:1;display:flex;overflow:hidden}.forecast-chart-container:hover{box-shadow:var(--shadow-md)}.forecast-chart{flex:1;min-height:0;display:flex}.forecast-chart .ag-charts-wrapper{flex:1!important;width:100%!important;height:100%!important}.forecast-chart-loading,.forecast-chart-no-data{background-color:var(--color-surface);border-radius:var(--radius-lg);border:2px dashed var(--color-border);height:100%;transition:all var(--transition-base);justify-content:center;align-items:center;display:flex}.forecast-chart-loading{flex-direction:column}.forecast-chart-loading:hover,.forecast-chart-no-data:hover{border-color:var(--color-border-hover)}.forecast-chart-loading:hover{background-color:var(--color-surface)}.forecast-chart-loading-text{margin-top:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.forecast-chart-no-data-text{color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.forecast-chart .ag-charts-canvas-container{border-radius:var(--radius-md);overflow:hidden}.ag-charts-wrapper,.ag-charts-canvas-container{width:100%!important;height:100%!important}.ag-chart-tooltip{background:var(--color-text-primary)!important;color:var(--color-text-inverse)!important;border-radius:var(--radius-md)!important;box-shadow:var(--shadow-lg)!important;padding:var(--spacing-sm) var(--spacing-md)!important;font-family:var(--font-family-primary)!important;font-size:var(--font-size-sm)!important;border:none!important}.ag-chart-tooltip-title,.ag-charts-tooltip-heading{display:none!important}.ag-chart-tooltip-content{color:var(--color-text-inverse)!important;font-size:var(--font-size-sm)!important}.ag-chart-legend{padding:var(--spacing-sm)!important}.ag-chart-legend-item{cursor:pointer;transition:opacity var(--transition-fast)}.ag-chart-legend-item:hover{opacity:.7}.forecast-chart-icon-button{cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-sm);transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.forecast-chart-icon-button:hover{background-color:var(--color-hover);transform:scale(1.1)}.forecast-chart-icon-button:active{transform:scale(.95)}.forecast-chart-icon-button svg{width:20px;height:20px;fill:var(--color-border-subtle);transition:fill var(--transition-base)}.forecast-chart-icon-button:hover svg{fill:var(--color-link)}.forecast-chart-icon-button:disabled{cursor:not-allowed;opacity:.4}.forecast-chart-icon-button:disabled:hover{background:0 0;transform:none}.forecast-chart-modal .MuiDialog-paper{flex-direction:column;width:90vw;max-width:1400px;height:90vh;max-height:900px;display:flex}.forecast-chart-modal-header{background-color:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);padding:var(--spacing-lg);align-items:center;gap:var(--spacing-sm);flex-direction:row;display:flex}.forecast-chart-modal-icon{color:var(--color-link);font-size:28px}.forecast-chart-modal-header-content{flex-grow:1}.forecast-chart-modal-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.forecast-chart-modal-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:var(--spacing-xs) 0 0 0;line-height:var(--line-height-normal)}.forecast-chart-modal-close-button{color:var(--color-text-secondary)}.forecast-chart-modal-close-button:hover{background-color:var(--color-hover)}.forecast-chart-modal-content{padding:var(--spacing-xl);background-color:var(--color-tile-outer);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.forecast-chart-modal-chart-wrapper{flex-direction:column;flex:1;width:100%;min-height:0;display:flex;overflow:hidden}.forecast-chart-modal-chart-wrapper .forecast-chart-container{flex:1;min-height:0}.forecast-chart-modal-footer{padding:var(--spacing-lg);background-color:var(--color-surface-elevated);border-top:1px solid var(--color-border)}@media (width<=768px){.forecast-chart-loading,.forecast-chart-no-data{min-height:250px}.forecast-chart-modal .MuiDialog-paper{margin:var(--spacing-md);max-width:calc(100vw - var(--spacing-xl));min-height:500px}.forecast-chart-modal-content{padding:var(--spacing-md)}.forecast-chart-icon-button{width:28px;height:28px}.forecast-chart-icon-button svg{width:18px;height:18px}}@media (width<=600px){.forecast-chart-container{border-radius:var(--radius-md)}.forecast-chart-loading-text,.forecast-chart-no-data-text{font-size:var(--font-size-xs)}}@media (width<=768px){.dropdown-panel{min-width:260px}}@media (width<=480px){.dropdown-panel{min-width:auto;max-width:calc(100vw - var(--spacing-md) * 2)}}.user-dropdown-info{margin:var(--spacing-md) var(--spacing-sm) var(--spacing-xs);padding:var(--spacing-md);background-color:var(--color-menu-button-hover);border-radius:var(--radius-md);opacity:.78}.user-dropdown-details{min-width:0}.user-dropdown-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-top-menu-text-active);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.user-dropdown-email{font-size:var(--font-size-xs);color:var(--color-top-menu-text);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.user-dropdown-store-section{margin:var(--spacing-md) var(--spacing-sm) var(--spacing-xs);background-color:var(--color-menu-button-hover);border-radius:var(--radius-md);transition:background-color var(--transition-base);opacity:.78}.user-dropdown-store-header{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);text-align:left;width:100%;font:inherit;background:0 0;border:none;display:flex}button.user-dropdown-store-header{cursor:pointer}button.user-dropdown-store-header:disabled{cursor:not-allowed;opacity:.6}.user-dropdown-store-details{flex:1;min-width:0}.user-dropdown-store-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-top-menu-text-active);text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition-base);margin:0;overflow:hidden}.user-dropdown-store-domain{font-size:var(--font-size-xs);color:var(--color-top-menu-text);text-overflow:ellipsis;white-space:nowrap;margin:0;overflow:hidden}.user-dropdown-store-arrow{color:var(--color-top-menu-text);transition:transform var(--transition-base);flex-shrink:0}.user-dropdown-store-arrow.open{transform:rotate(180deg)}.user-dropdown-store-list{gap:var(--spacing-xs);padding:0 var(--spacing-xs) var(--spacing-xs);flex-direction:column;display:flex}.user-dropdown-store-list-divider{height:1px;margin-bottom:var(--spacing-xs);background-color:#fff3}.user-dropdown-store-list-item{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-menu-button-hover);border-radius:var(--radius-md);cursor:pointer;font-size:var(--font-size-sm);color:var(--color-top-menu-text);text-align:left;width:100%;transition:color var(--transition-base), background-color var(--transition-base);border:none;display:flex}.user-dropdown-store-list-item:hover{color:var(--color-top-menu-text-hover);background-color:var(--color-menu-button-bg)}.user-dropdown-store-list-item:disabled{cursor:not-allowed;opacity:.6}.user-dropdown-store-list-details{flex:1;min-width:0}.user-dropdown-store-list-name{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-dropdown-store-list-domain{font-size:var(--font-size-xs);color:var(--color-top-menu-text);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-dropdown-store-settings-button{width:100%}.user-dropdown-store-error{padding:var(--spacing-xs) var(--spacing-md) var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-error)}.dropdown-button--staff{justify-content:space-between;align-items:center;display:flex}.dropdown-staff-icon{color:var(--color-warning);opacity:.7;flex-shrink:0}.dropdown{z-index:var(--z-dropdown);animation:.2s ease-out dropdownFadeIn;position:absolute;top:calc(100% + 8px);right:0}.dropdown.dropdown-centered{animation:.2s ease-out dropdownFadeInCentered;left:50%;right:auto;transform:translate(-50%)}.dropdown-panel{background-color:var(--color-menu-bg);padding:var(--spacing-sm);min-width:280px;box-shadow:var(--shadow-xl)}.dropdown-menu{flex-direction:column;display:flex}.dropdown-button,.dropdown-item{color:var(--color-sidebar-text);padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);cursor:pointer;transition:color var(--transition-base), opacity var(--transition-base);text-align:left;opacity:.78;background:0 0;border:none;width:100%}.dropdown-button:hover,.dropdown-item:hover{color:var(--color-primary);opacity:1}.dropdown-item.selected{color:var(--color-top-menu-text-active);opacity:1}.dropdown-divider{height:1px;margin:var(--spacing-sm) 0;background-color:#fff3}a.dropdown-button{text-decoration:none}@media (width<=768px){.dropdown-panel{min-width:260px}}@media (width<=480px){.dropdown-panel{min-width:auto;max-width:calc(100vw - var(--spacing-md) * 2)}}.notification-dropdown-panel{min-width:320px}@media (width<=480px){.notification-dropdown-panel{min-width:auto;width:calc(100vw - var(--spacing-md) * 2);max-width:320px}}.notification-dropdown-empty{padding:var(--spacing-xl) var(--spacing-md);text-align:center}.notification-dropdown-empty p{font-size:var(--font-size-sm);color:var(--color-top-menu-text);margin:0}.notification-dropdown-cards{gap:var(--spacing-sm);padding:var(--spacing-sm);flex-direction:column;display:flex}.notification-card{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-menu-button-bg);border-radius:var(--radius-md);cursor:pointer;text-align:left;width:100%;transition:background-color var(--transition-base), opacity var(--transition-base);opacity:.78;border:none;display:flex}.notification-card:hover{background-color:var(--color-menu-button-hover);opacity:1}.notification-card-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.notification-card-icon.health{background-color:var(--color-warning-bg);color:var(--color-warning)}.notification-card-icon.po{background-color:var(--color-primary-light);color:var(--color-primary)}.notification-card-icon.outstanding{background-color:var(--color-error-bg);color:var(--color-error)}.notification-card-body{flex:1;min-width:0}.notification-card-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-top-menu-text-active);margin:0}.notification-card-desc{font-size:var(--font-size-xs);color:var(--color-top-menu-text);margin:2px 0 0}.notification-card-chevron{color:var(--color-top-menu-text);flex-shrink:0;font-size:1.25rem!important}.cp-backdrop{z-index:calc(var(--z-tooltip) + 10);background:var(--color-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);justify-content:center;align-items:flex-start;padding-top:min(20vh,160px);animation:.15s ease-out cp-fade-in;display:flex;position:fixed;inset:0}@keyframes cp-fade-in{0%{opacity:0}to{opacity:1}}.cp-dialog{background:var(--color-tile-outer);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:560px;max-height:min(60vh,480px);box-shadow:var(--shadow-dialog);flex-direction:column;animation:.15s ease-out cp-slide-up;display:flex;overflow:hidden}@keyframes cp-slide-up{0%{opacity:0;transform:translateY(-8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.cp-input-wrapper{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-md);border-bottom:1px solid var(--color-border);flex-shrink:0;display:flex}.cp-input-icon{color:var(--color-text-tertiary);flex-shrink:0}.cp-input{font-size:var(--font-size-base);font-family:var(--font-family-primary);color:var(--color-text-primary);line-height:var(--line-height-normal);background:0 0;border:none;outline:none;flex:1}.cp-input::placeholder{color:var(--color-text-tertiary)}.cp-close-btn{border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;color:var(--color-text-tertiary);transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;display:flex}.cp-close-btn:hover{background:var(--color-hover);color:var(--color-text-primary)}.cp-results{padding:var(--spacing-sm) 0;flex:1;overflow-y:auto}.cp-results::-webkit-scrollbar{width:6px}.cp-results::-webkit-scrollbar-track{background:0 0}.cp-results::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.cp-group{padding:0 var(--spacing-sm)}.cp-group+.cp-group{margin-top:var(--spacing-xs);padding-top:var(--spacing-xs);border-top:1px solid var(--color-border)}.cp-group-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;padding:var(--spacing-xs) var(--spacing-sm)}.cp-item{align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-sm);border-radius:var(--radius-md);cursor:pointer;text-align:left;font-family:var(--font-family-primary);transition:background-color var(--transition-fast);background:0 0;border:none;margin:0;display:flex}.cp-item:hover,.cp-item--active{background:var(--color-hover)}.cp-item--active{background:var(--color-primary-light)}.cp-item-icon{color:var(--color-text-tertiary);flex-shrink:0}.cp-item--active .cp-item-icon{color:var(--color-primary)}.cp-item-content{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.cp-item-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cp-item--active .cp-item-label{color:var(--color-primary)}.cp-item-description{font-size:var(--font-size-xs);color:var(--color-text-tertiary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.cp-item-enter{color:var(--color-text-tertiary);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0}.cp-item--active .cp-item-enter{opacity:1;color:var(--color-primary)}.cp-empty{padding:var(--spacing-xl) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.cp-footer{align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--color-border);background:var(--color-surface-elevated);flex-shrink:0;display:flex}.cp-footer-hint{align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary);display:flex}.cp-kbd{min-width:20px;height:20px;padding:0 var(--spacing-xs);font-family:var(--font-family-primary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-medium);color:var(--color-text-tertiary);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:center;align-items:center;line-height:1;display:inline-flex}.cp-shortcut-badge{bottom:var(--spacing-xxs);font-family:var(--font-family-primary);font-size:var(--font-size-2xs);font-weight:var(--font-weight-semibold);color:var(--color-top-menu-text);opacity:.5;pointer-events:none;line-height:1;position:absolute;right:0}@media (width<=640px){.cp-backdrop{padding-top:var(--spacing-md);padding-left:var(--spacing-sm);padding-right:var(--spacing-sm)}.cp-dialog{max-height:70vh}.cp-footer{display:none}}.ksh-dialog{background:var(--color-tile-outer);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:420px;box-shadow:var(--shadow-dialog);flex-direction:column;animation:.15s ease-out cp-slide-up;display:flex;overflow:hidden}.ksh-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.ksh-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em;margin:0}.ksh-body{padding:var(--spacing-md);gap:var(--spacing-md);flex-direction:column;display:flex}.ksh-group-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 var(--spacing-xs) 0}.ksh-list{gap:var(--spacing-xs);flex-direction:column;display:flex}.ksh-row{padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;display:flex}.ksh-row:hover{background:var(--color-hover)}.ksh-label{font-size:var(--font-size-sm);color:var(--color-text-primary)}.ksh-keys{gap:var(--spacing-xs);display:flex}.ksh-kbd{min-width:24px;height:24px;font-family:var(--font-family-primary);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding:0 6px;line-height:1;display:inline-flex}@media (width<=640px){.ksh-dialog{margin:var(--spacing-sm)}}.top-menu{height:var(--top-menu-height);background:var(--color-top-menu-bg);padding:0 var(--spacing-md) 0 var(--spacing-md);z-index:calc(var(--z-fixed) + 1);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.top-menu-left{align-items:center;display:flex}.top-menu-sidebar-toggle{border-radius:var(--radius-md);height:40px;color:var(--color-top-menu-text);cursor:pointer;transition:color var(--transition-base);padding:0 var(--spacing-md) 0 var(--spacing-sm);background:0 0;border:none;flex-shrink:0;justify-content:flex-start;align-items:center;display:flex}.top-menu-sidebar-toggle:hover{color:var(--color-top-menu-text-hover)}.top-menu-sidebar-toggle svg{font-size:1.125rem}.top-menu-logo-block{flex-shrink:0;align-items:center;padding-left:0;display:flex}.top-menu-logo{object-fit:contain;width:auto;height:48px;margin-top:3px}.top-menu-right{align-items:center;gap:var(--spacing-md);display:flex}.top-menu-icon-btn{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-top-menu-text);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:relative}.top-menu-icon-btn:hover{color:var(--color-top-menu-text-hover)}.top-menu-icon-btn svg{font-size:1.125rem}.theme-toggle-btn{overflow:hidden}.theme-icon{justify-content:center;align-items:center;transition:transform .8s cubic-bezier(.4,0,.2,1);display:flex;position:absolute;inset:0}.theme-toggle-btn .theme-icon-sun svg{color:#fbbf24;fill:#fbbf24}.theme-icon-sun,.theme-icon-moon{transform:translateY(100%)rotate(90deg)}[data-theme=light] .theme-icon-moon,[data-theme=sky] .theme-icon-moon,[data-theme=meadow] .theme-icon-moon,[data-theme=dark] .theme-icon-sun,[data-theme=navy] .theme-icon-sun,[data-theme=forest] .theme-icon-sun{transform:translateY(0)rotate(0)}.top-menu-notification-container{position:relative}.top-menu-notification-dot{background-color:var(--color-notification);border-radius:var(--radius-full);width:8px;height:8px;position:absolute;top:8px;right:8px}.top-menu-user-avatar{border-radius:var(--radius-full);cursor:pointer;width:28px;height:28px;transition:border-color var(--transition-base);box-sizing:content-box;background:0 0;border:2px solid #0000;justify-content:center;align-items:center;padding:6px;display:flex;overflow:visible}.top-menu-user-avatar img{object-fit:cover;width:100%;height:100%}.top-menu-avatar-fallback{color:var(--color-top-menu-text);width:100%!important;height:100%!important}.top-menu-user-dropdown-container{position:relative}.top-menu-mobile{display:none}@media (width<=768px){.top-menu{display:none}.top-menu-mobile{height:var(--top-menu-height);background:var(--color-top-menu-bg);padding:0 var(--spacing-md);z-index:var(--z-fixed);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.hamburger-btn{width:40px;height:40px;color:var(--color-top-menu-text-active);cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-base);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.hamburger-btn:hover{background-color:var(--color-hover)}.hamburger-btn svg{font-size:1.75rem}.top-menu-logo-mobile{width:auto;height:32px;position:absolute;left:50%;transform:translate(-50%)}.mobile-menu-overlay{top:var(--top-menu-height);z-index:var(--z-dropdown);background-color:#00000080;animation:.2s ease-out fadeIn;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-menu-content{background:linear-gradient(to bottom, var(--color-sidebar-bg-start), var(--color-sidebar-bg-end));width:85%;max-width:320px;height:100%;padding:var(--spacing-lg);flex-direction:column;gap:0;animation:.3s ease-out slideInLeft;display:flex;position:absolute;top:0;left:0;overflow-y:auto;box-shadow:2px 0 8px #0003}.mobile-menu-header{padding:var(--spacing-sm) var(--spacing-xs)}.mobile-menu-user-name{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-sidebar-text);white-space:nowrap;text-overflow:ellipsis;margin:0 0 2px;overflow:hidden}.mobile-menu-user-email{font-size:var(--font-size-sm);color:#ffffff80;white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.mobile-menu-store-name{font-size:var(--font-size-sm);color:#ffffff80;margin:var(--spacing-xs) 0 0 0;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.mobile-menu-section{padding:var(--spacing-xs) 0}.mobile-menu-section-title{font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:#fff6;text-transform:uppercase;letter-spacing:.5px;padding:var(--spacing-sm) var(--spacing-xs);margin-bottom:2px}.mobile-menu-divider{height:1px;margin:var(--spacing-sm) 0;background-color:#ffffff1a}.mobile-menu-link{width:100%;padding:var(--spacing-sm) var(--spacing-xs);color:var(--color-sidebar-text);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);border-radius:var(--radius-md);transition:color var(--transition-base);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;text-decoration:none;display:flex}.mobile-menu-link:hover{color:var(--color-primary)}.mobile-menu-link.active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.mobile-menu-link-content{align-items:center;gap:var(--spacing-md);display:flex}.mobile-menu-chevron{color:#ffffff4d;font-size:1rem}.mobile-menu-link.active .mobile-menu-chevron{color:var(--color-primary)}.mobile-menu-footer{padding-top:var(--spacing-md);gap:var(--spacing-sm);flex-direction:column;margin-top:auto;display:flex}.mobile-menu-theme-toggle{align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-sm) var(--spacing-xs);color:var(--color-sidebar-text);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-base);background:0 0;border:none;display:flex}.mobile-menu-theme-toggle:hover{color:var(--color-primary)}.mobile-menu-theme-toggle .mobile-menu-icon{color:inherit;font-size:1.25rem}.mobile-menu-logout{align-items:center;gap:var(--spacing-md);width:100%;padding:var(--spacing-sm) var(--spacing-xs);color:var(--color-error);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);border-radius:var(--radius-md);cursor:pointer;transition:color var(--transition-base);background:0 0;border:none;display:flex}.mobile-menu-logout:hover{opacity:.8}.mobile-menu-logout .mobile-menu-icon{color:inherit;font-size:1.25rem}}.sidebar{top:var(--top-menu-height);width:var(--sidebar-width);height:calc(100dvh - var(--top-menu-height));background:linear-gradient(to bottom, var(--color-sidebar-bg-start), var(--color-sidebar-bg-end));z-index:var(--z-fixed);transition:transform var(--transition-slow);will-change:transform;flex-direction:column;display:flex;position:fixed;left:0;overflow:hidden auto;transform:translate(0)}[data-sidebar=collapsed] .sidebar{transform:translate(-100%)}.sidebar-nav{padding:var(--spacing-md) var(--spacing-sm) 0;gap:var(--spacing-xxs);flex-direction:column;display:flex}.sidebar-link{align-items:center;gap:var(--spacing-sm);color:var(--color-sidebar-text);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);transition:color var(--transition-base), opacity var(--transition-base);white-space:nowrap;text-overflow:ellipsis;opacity:.78;text-decoration:none;display:flex;overflow:hidden}.sidebar-icon{opacity:.7;flex-shrink:0}.sidebar-link:hover{color:var(--color-primary);opacity:1}.sidebar-link.active{color:var(--color-primary);font-weight:var(--font-weight-semibold);opacity:1}.sidebar-section-label{align-items:center;gap:var(--spacing-sm);width:100%;color:var(--color-sidebar-text);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);padding:var(--spacing-xs) var(--spacing-md);margin-top:var(--spacing-xs);border-radius:var(--radius-md);text-align:left;cursor:pointer;transition:color var(--transition-base), opacity var(--transition-base);white-space:nowrap;text-overflow:ellipsis;opacity:.78;background:0 0;border:none;display:flex;overflow:hidden}.sidebar-section-text{flex:1}.sidebar-caret{opacity:.7;flex-shrink:0}.sidebar-section-label:hover,.sidebar-section-label.active{color:var(--color-primary);opacity:1}.sidebar-section-label.active .sidebar-caret{opacity:1}.sidebar-sub-group{gap:var(--spacing-xxs);flex-direction:column;display:flex}.sidebar-sub-link{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);padding-left:calc(var(--spacing-md) + 18px + var(--spacing-sm));opacity:.78}@media (width<=768px){.sidebar{display:none}}.tab-strip{background:var(--color-main-bg);border-bottom:1px solid var(--color-border);scrollbar-width:thin;scrollbar-color:var(--color-border-subtle) transparent;flex-shrink:0;align-items:stretch;gap:2px;padding:4px 8px 0;display:flex;overflow:auto hidden}.tab-strip::-webkit-scrollbar{height:4px}.tab-strip::-webkit-scrollbar-thumb{background:var(--color-border-subtle);border-radius:2px}.tab-strip__tab{background:var(--color-surface-elevated);border:1px solid var(--color-border);min-width:100px;max-width:200px;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast,.15s), color var(--transition-fast,.15s);border-bottom:none;border-radius:6px 6px 0 0;flex:none;align-items:center;gap:6px;padding:6px 8px 6px 12px;display:inline-flex}.tab-strip__tab:hover{background:var(--color-surface);color:var(--color-text-primary)}.tab-strip__tab.is-active{background:var(--color-surface);color:var(--color-text-primary);border-color:var(--color-border-hover);font-weight:500}.tab-strip__tab.is-home{min-width:auto;padding:6px 10px}.tab-strip__title{white-space:nowrap;text-overflow:ellipsis;flex:auto;overflow:hidden}.tab-strip__close{width:16px;height:16px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.tab-strip__close:hover{background:var(--color-neutral-bg);color:var(--color-text-primary)}.tab-strip__cap-alert .MuiPaper-root{font-size:var(--font-size-sm)}:root{--color-top-menu-bg:#000;--color-top-menu-text:#fff9;--color-top-menu-text-active:#fff;--color-top-menu-text-hover:#fff;--color-sidebar-bg-start:#000;--color-sidebar-bg-end:#1e1310;--color-sidebar-text:#fff;--color-main-bg:#f4f2f4;--color-tile-outer:#f4f2f4;--color-tile-inner:#fff;--color-menu-bg:#1c1c1c;--color-menu-button-bg:#333;--color-menu-button-hover:#404040;--color-menu-text:#fff;--color-heading:#213d8c;--color-text-primary:#011f26;--color-text-secondary:#434247;--color-text-tertiary:#999;--color-text-inverse:#fff;--color-text-muted:#777778;--color-border:#d9dee7;--color-border-hover:#cbd2df;--color-border-focus:#bac3d4;--color-surface:#fff;--color-surface-elevated:#f5f5f5;--color-success:#10b981;--color-success-bg:#d1fae5;--color-success-hover:#0ea573;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-warning-hover:#d97706;--color-error:#ef4444;--color-error-bg:#fee2e2;--color-error-hover:#dc2626;--color-neutral:#6b7280;--color-neutral-bg:#6b728014;--color-info:#3b82f6;--color-info-bg:#3b82f614;--color-border-subtle:#bac3d4;--color-notification:#ff6b35;--color-primary:#3b82f6;--color-primary-light:#3b82f61a;--color-primary-focus-ring:#3b82f61a;--color-primary-glow:#3b82f647;--color-success-border-alpha:#10b98159;--color-error-border-alpha:#ef444459;--color-warning-border-alpha:#f59e0b59;--color-info-border-alpha:#3b82f659;--color-primary-border-alpha:#3b82f659;--color-link:#2563eb;--color-link-hover:#1d4ed8;--color-hover:#43424714;--color-active:#4342471f;--color-selected:#43424729;--color-accent:#bac3d4;--color-cell-modified:var(--color-warning-bg);--color-cell-modified-text:var(--color-warning);--color-cell-empty-bg:var(--color-surface);--color-cell-editable-bg:#3b82f60d;--color-overlay:#00000080;--color-overlay-light:#0000004d;--color-backdrop:#011f26b3;--login-brand-bg:linear-gradient(165deg, #000 0%, #0a0705 50%, #140c0a 100%);--login-brand-glow:#ffffff08;--login-brand-text:#ffffffe0;--login-brand-text-muted:#ffffff73;--login-brand-border:#ffffff0f;--login-brand-footer:#fff3;--login-accent-color:#3b82f6;--font-family-primary:"Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;--font-family-mono:"Consolas", "Monaco", monospace;--font-size-2xs:.625rem;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2rem;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--spacing-xxs:.125rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:.25rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #011f260d;--shadow-base:0 1px 3px 0 #011f261a, 0 1px 2px -1px #011f261a;--shadow-md:0 4px 6px -1px #011f261a, 0 2px 4px -2px #011f261a;--shadow-lg:0 10px 15px -3px #011f261a, 0 4px 6px -4px #011f261a;--shadow-xl:0 20px 25px -5px #011f261a, 0 8px 10px -6px #011f261a;--shadow-dialog:0 16px 48px #0003, 0 4px 12px #0000001a;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--top-menu-height:40px;--sidebar-width:300px;--max-content-width:1400px;--chart-height-compact:260px;--chart-height-tall:360px}[data-theme=dark]{--color-top-menu-bg:#000;--color-top-menu-text:#bec2c8;--color-top-menu-text-active:#fff;--color-top-menu-text-hover:#fff;--color-sidebar-bg-start:#000;--color-sidebar-bg-end:#140c0a;--color-sidebar-text:#fff;--color-main-bg:#1f1f1f;--color-tile-outer:#1f1f1f;--color-tile-inner:#292929;--color-menu-bg:#232323;--color-menu-button-bg:#323232;--color-menu-button-hover:#414141;--color-menu-text:#fff;--color-heading:#fff;--color-text-primary:#fff;--color-text-secondary:#e5e5e5;--color-text-tertiary:#888;--color-text-inverse:#011f26;--color-text-muted:#777778;--color-border:#414141;--color-border-hover:#505050;--color-border-focus:#5f5f5f;--color-surface:#292929;--color-surface-elevated:#333;--color-hover:#ffffff14;--color-active:#ffffff1f;--color-selected:#ffffff29;--color-accent:#bac3d4;--color-success:#10b981;--color-success-bg:#10b9811a;--color-success-hover:#0ea573;--color-warning:#f59e0b;--color-warning-bg:#f59e0b1a;--color-warning-hover:#d97706;--color-error:#ef4444;--color-error-bg:#ef44441a;--color-error-hover:#dc2626;--color-neutral:#9ca3af;--color-neutral-bg:#9ca3af1a;--color-info:#60a5fa;--color-info-bg:#60a5fa1a;--color-border-subtle:#505050;--color-notification:#ff6b35;--color-primary:#60a5fa;--color-primary-light:#3b82f626;--color-link:#60a5fa;--color-link-hover:#93c5fd;--color-cell-modified:#f59e0b1f;--color-cell-modified-text:gold;--color-cell-empty-bg:#ffffff08;--color-cell-editable-bg:#60a5fa14;--color-backdrop:#000000d9;--login-brand-bg:linear-gradient(165deg, #000 0%, #0a0705 50%, #140c0a 100%);--login-brand-glow:#ffffff08;--login-brand-text:#ffffffe0;--login-brand-text-muted:#ffffff73;--login-brand-border:#ffffff0f;--login-brand-footer:#fff3;--login-accent-color:#60a5fa}[data-theme=navy]{--color-top-menu-bg:#0d1526;--color-top-menu-text:#ffffff8c;--color-top-menu-text-active:#fff;--color-top-menu-text-hover:#fff;--color-sidebar-bg-start:#0d1526;--color-sidebar-bg-end:#111d34;--color-sidebar-text:#fff;--color-main-bg:#152240;--color-tile-outer:#152240;--color-tile-inner:#1a2b4a;--color-menu-bg:#162236;--color-menu-button-bg:#243656;--color-menu-button-hover:#2c4066;--color-menu-text:#fff;--color-heading:#fff;--color-text-primary:#ffffffeb;--color-text-secondary:#ffffffad;--color-text-tertiary:#fff6;--color-text-inverse:#111d34;--color-text-muted:#ffffff59;--color-border:#ffffff1f;--color-border-hover:#ffffff2e;--color-border-focus:#ffffff40;--color-surface:#1a2b4a;--color-surface-elevated:#243656;--color-hover:#ffffff0f;--color-active:#ffffff1a;--color-selected:#3b82f633;--color-accent:#3b82f6;--color-success:#34d399;--color-success-bg:#34d3991f;--color-success-hover:#10b981;--color-warning:#fbbf24;--color-warning-bg:#fbbf241f;--color-warning-hover:#e5a50a;--color-error:#f87171;--color-error-bg:#f871711f;--color-error-hover:#ef4444;--color-neutral:#94a3b8;--color-neutral-bg:#94a3b81f;--color-info:#60a5fa;--color-info-bg:#60a5fa1f;--color-border-subtle:#ffffff1f;--color-notification:#ff6b35;--color-primary:#60a5fa;--color-primary-light:#60a5fa26;--color-link:#60a5fa;--color-link-hover:#93c5fd;--color-cell-modified:#fbbf241f;--color-cell-modified-text:#fbbf24;--color-cell-empty-bg:#ffffff05;--color-cell-editable-bg:#60a5fa14;--color-backdrop:#0d1526e6;--login-brand-bg:linear-gradient(165deg, #0d1526 0%, #0f1b2e 50%, #111d34 100%);--login-brand-glow:#3b82f614;--login-brand-text:#ffffffe0;--login-brand-text-muted:#ffffff73;--login-brand-border:#ffffff0f;--login-brand-footer:#fff3;--login-accent-color:#60a5fa;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-base:0 1px 3px 0 #00000059, 0 1px 2px -1px #0000004d;--shadow-md:0 4px 6px -1px #00000059, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000059, 0 4px 6px -4px #0000004d}[data-theme=sky]{--color-top-menu-bg:#0a1628;--color-top-menu-text:#ffffff8c;--color-top-menu-text-active:#fff;--color-top-menu-text-hover:#fff;--color-sidebar-bg-start:#0a1628;--color-sidebar-bg-end:#132039;--color-sidebar-text:#fff;--color-main-bg:#e8edf4;--color-tile-outer:#e8edf4;--color-tile-inner:#fff;--color-menu-bg:#0f1d32;--color-menu-button-bg:#1c3050;--color-menu-button-hover:#243a60;--color-menu-text:#fff;--color-heading:#0f172a;--color-text-primary:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-text-inverse:#fff;--color-text-muted:#94a3b8;--color-border:#cbd5e1;--color-border-hover:#b0bed0;--color-border-focus:#93a5be;--color-surface:#fff;--color-surface-elevated:#f1f5f9;--color-hover:#0f172a0f;--color-active:#0f172a1a;--color-selected:#3b82f61f;--color-accent:#3b82f6;--color-success:#10b981;--color-success-bg:#d1fae5;--color-success-hover:#0ea573;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-warning-hover:#d97706;--color-error:#ef4444;--color-error-bg:#fee2e2;--color-error-hover:#dc2626;--color-neutral:#64748b;--color-neutral-bg:#64748b14;--color-info:#3b82f6;--color-info-bg:#3b82f614;--color-border-subtle:#b0bed0;--color-notification:#ff6b35;--color-primary:#3b82f6;--color-primary-light:#3b82f61a;--color-link:#2563eb;--color-link-hover:#1d4ed8;--color-cell-modified:var(--color-warning-bg);--color-cell-modified-text:var(--color-warning);--color-cell-empty-bg:var(--color-surface);--color-cell-editable-bg:#3b82f60d;--color-backdrop:#0f172ab3;--login-brand-bg:linear-gradient(165deg, #070e1a 0%, #091420 50%, #0a1628 100%);--login-brand-glow:#3b82f614;--login-brand-text:#ffffffe0;--login-brand-text-muted:#ffffff73;--login-brand-border:#ffffff0f;--login-brand-footer:#fff3;--login-accent-color:#3b82f6}[data-theme=forest]{--color-top-menu-bg:#0d2614;--color-top-menu-text:#ffffff8c;--color-top-menu-text-active:#fff;--color-top-menu-text-hover:#fff;--color-sidebar-bg-start:#0d2614;--color-sidebar-bg-end:#112f1c;--color-sidebar-text:#fff;--color-main-bg:#152b1c;--color-tile-outer:#152b1c;--color-tile-inner:#1b3824;--color-menu-bg:#122a19;--color-menu-button-bg:#22482e;--color-menu-button-hover:#2a5838;--color-menu-text:#fff;--color-heading:#fff;--color-text-primary:#ffffffeb;--color-text-secondary:#ffffffad;--color-text-tertiary:#fff6;--color-text-inverse:#112f1c;--color-text-muted:#ffffff59;--color-border:#ffffff1f;--color-border-hover:#ffffff2e;--color-border-focus:#ffffff40;--color-surface:#1b3824;--color-surface-elevated:#22482e;--color-hover:#ffffff0f;--color-active:#ffffff1a;--color-selected:#10b98133;--color-accent:#10b981;--color-success:#34d399;--color-success-bg:#34d3991f;--color-success-hover:#10b981;--color-warning:#fbbf24;--color-warning-bg:#fbbf241f;--color-warning-hover:#e5a50a;--color-error:#f87171;--color-error-bg:#f871711f;--color-error-hover:#ef4444;--color-neutral:#86a68e;--color-neutral-bg:#86a68e1f;--color-info:#34d399;--color-info-bg:#34d3991f;--color-border-subtle:#ffffff14;--color-notification:#ff6b35;--color-primary:#34d399;--color-primary-light:#34d39926;--color-link:#34d399;--color-link-hover:#6ee7b7;--color-cell-modified:#fbbf241f;--color-cell-modified-text:#fbbf24;--color-cell-empty-bg:#ffffff05;--color-cell-editable-bg:#34d39914;--color-backdrop:#0d2614e6;--shadow-sm:0 1px 2px 0 #0000004d;--shadow-base:0 1px 3px 0 #00000059, 0 1px 2px -1px #0000004d;--shadow-md:0 4px 6px -1px #00000059, 0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000059, 0 4px 6px -4px #0000004d;--login-brand-bg:linear-gradient(165deg, #0d2614 0%, #0f2b18 50%, #112f1c 100%);--login-brand-glow:#10b98114;--login-brand-text:#ffffffe0;--login-brand-text-muted:#ffffff73;--login-brand-border:#ffffff0f;--login-brand-footer:#fff3;--login-accent-color:#34d399}[data-theme=meadow]{--color-top-menu-bg:#071a0c;--color-top-menu-text:#ffffff8c;--color-top-menu-text-active:#fff;--color-top-menu-text-hover:#fff;--color-sidebar-bg-start:#071a0c;--color-sidebar-bg-end:#0a2412;--color-sidebar-text:#fff;--color-main-bg:#edf5ee;--color-tile-outer:#edf5ee;--color-tile-inner:#fff;--color-menu-bg:#0b1f0f;--color-menu-button-bg:#1a3d22;--color-menu-button-hover:#224d2c;--color-menu-text:#fff;--color-heading:#0f2918;--color-text-primary:#0f2918;--color-text-secondary:#3d5a45;--color-text-tertiary:#7a9a82;--color-text-inverse:#fff;--color-text-muted:#7a9a82;--color-border:#c2d5c6;--color-border-hover:#a8c4ae;--color-border-focus:#8fb497;--color-surface:#fff;--color-surface-elevated:#f2f8f3;--color-hover:#0f29180f;--color-active:#0f29181a;--color-selected:#10b9811f;--color-accent:#10b981;--color-success:#10b981;--color-success-bg:#d1fae5;--color-success-hover:#0ea573;--color-warning:#f59e0b;--color-warning-bg:#fef3c7;--color-warning-hover:#d97706;--color-error:#ef4444;--color-error-bg:#fee2e2;--color-error-hover:#dc2626;--color-neutral:#6b8c72;--color-neutral-bg:#6b8c7214;--color-info:#10b981;--color-info-bg:#10b98114;--color-border-subtle:#a8c4ae;--color-notification:#ff6b35;--color-primary:#10b981;--color-primary-light:#10b9811a;--color-link:#059669;--color-link-hover:#047857;--color-cell-modified:var(--color-warning-bg);--color-cell-modified-text:var(--color-warning);--color-cell-empty-bg:var(--color-surface);--color-cell-editable-bg:#10b9810d;--color-backdrop:#0f2918b3;--login-brand-bg:linear-gradient(165deg, #071a0c 0%, #081f0f 50%, #0a2412 100%);--login-brand-glow:#10b98114;--login-brand-text:#ffffffe0;--login-brand-text-muted:#ffffff73;--login-brand-border:#ffffff0f;--login-brand-footer:#fff3;--login-accent-color:#10b981}.app-wrapper{background:var(--color-top-menu-bg);flex-direction:column;height:100dvh;display:flex;overflow:hidden}.main-content{margin-top:var(--top-menu-height);margin-left:var(--sidebar-width);height:calc(100dvh - var(--top-menu-height));background:var(--color-main-bg);border-top-left-radius:var(--radius-lg);transition:margin-left var(--transition-slow);flex-direction:column;display:flex;overflow:hidden}.main-content-scroll{flex:1;min-height:0;overflow:auto}[data-sidebar=collapsed] .main-content{border-top-left-radius:0;margin-left:0}@media (width<=768px){.main-content{margin-left:0;transition:none}}.dev-info{bottom:var(--spacing-sm);right:var(--spacing-sm);color:var(--color-text-inverse);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-family:var(--font-family-mono);z-index:var(--z-dropdown);opacity:.7;background-color:#000c;line-height:1.4;position:fixed}@media (width<=768px){.dev-info{display:none}}.login-container{min-height:100vh;display:flex}.login-brand{background:var(--login-brand-bg);flex-direction:column;flex-shrink:0;justify-content:space-between;width:420px;padding:56px 52px;display:flex;position:relative;overflow:hidden}.login-brand:before{content:"";background:radial-gradient(circle, var(--login-brand-glow) 0%, transparent 70%);pointer-events:none;width:400px;height:400px;position:absolute;top:-30%;right:-20%}.login-brand-content{flex-direction:column;flex:1;justify-content:center;display:flex;position:relative}.login-logo{width:180px;height:auto;margin-bottom:32px}.login-brand-accent{background:var(--login-accent-color);border-radius:2px;width:180px;height:3px;margin-bottom:28px}.login-tagline{color:var(--login-brand-text);letter-spacing:.01em;margin:0 0 36px;font-size:1.25rem;font-weight:300;line-height:1.6}.login-features{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.login-features li{color:var(--login-brand-text-muted);padding-left:20px;font-size:.875rem;line-height:1.4;position:relative}.login-features li:before{content:"";background:var(--login-accent-color);opacity:.7;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;left:0}.login-brand-footer{border-top:1px solid var(--login-brand-border);padding-top:24px}.login-brand-footer span{color:var(--login-brand-footer);letter-spacing:.05em;font-size:.75rem}.login-panel{background:var(--color-surface);flex:1;justify-content:center;align-items:center;padding:56px 48px 112px;display:flex}.login-form-wrap{width:100%;max-width:360px}.login-title{color:var(--color-text-primary);letter-spacing:-.01em;margin:0 0 28px;font-size:1.5rem;font-weight:600}.login-subtitle{color:var(--color-text-secondary);margin:0 0 20px;font-size:.9375rem;font-weight:400}.login-form{flex-direction:column;gap:14px;display:flex}.login-input-group{flex-direction:column;display:flex}.login-input-wrapper{position:relative}.login-input{background:var(--color-surface);width:100%;color:var(--color-text-primary);border:1.5px solid var(--color-border);box-sizing:border-box;border-radius:6px;outline:none;padding:10px 14px;font-size:.9375rem;transition:border-color .15s,box-shadow .15s}.login-input:hover{border-color:var(--color-border-hover)}.login-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-focus-ring)}.login-input::placeholder{color:var(--color-text-muted)}.login-input:disabled{background:var(--color-surface-elevated);color:var(--color-text-muted);cursor:not-allowed}.login-input-icon-btn{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:color .15s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.login-input-icon-btn:hover{color:var(--color-text-secondary)}.login-input-icon-btn:disabled{opacity:.5;cursor:not-allowed}.login-input-icon-btn svg{font-size:1.125rem}.login-remember-row{justify-content:space-between;align-items:center;margin-top:2px;display:flex}.login-remember-me{align-items:center;gap:8px;display:flex}.login-forgot-link{color:var(--color-link);cursor:pointer;background:0 0;border:none;padding:0;font-size:.8125rem;transition:color .15s}.login-forgot-link:hover{color:var(--color-link-hover);text-decoration:underline}.login-forgot-link:disabled{opacity:.5;cursor:not-allowed}.login-remember-checkbox{width:1rem;height:1rem;accent-color:var(--color-primary);cursor:pointer;flex-shrink:0;margin:0}.login-remember-checkbox:disabled{opacity:.5;cursor:not-allowed}.login-remember-label{color:var(--color-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;margin:0;font-size:.875rem}.login-button{background:var(--color-primary);width:100%;color:var(--color-text-inverse);cursor:pointer;border:none;border-radius:6px;margin-top:6px;padding:11px 20px;font-size:.9375rem;font-weight:600;transition:background .15s,box-shadow .15s,transform .15s}.login-button:hover:not(:disabled){background:var(--color-link);box-shadow:0 4px 12px var(--color-primary-glow);transform:translateY(-1px)}.login-button:active:not(:disabled){box-shadow:none;transform:translateY(0)}.login-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.login-button-secondary{color:var(--color-text-secondary);border:1.5px solid var(--color-border);background:0 0}.login-button-secondary:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-border-hover);color:var(--color-text-primary);box-shadow:none;transform:none}.login-link-button{color:var(--color-link);cursor:pointer;text-align:center;background:0 0;border:none;width:100%;margin-top:8px;padding:0;font-size:.875rem;transition:color .15s}.login-link-button:hover{color:var(--color-link-hover);text-decoration:underline}.login-info{border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:6px;margin-bottom:16px;padding:10px 14px;font-size:.875rem;line-height:1.5}.login-info-error{background:var(--color-error-bg);border-color:var(--color-error);color:var(--color-error)}.login-info-warning{background:var(--color-warning-bg);border-color:var(--color-warning);color:var(--color-warning)}.login-info-success{background:var(--color-success-bg);border-color:var(--color-success);color:var(--color-success)}.login-info strong{font-weight:600}.login-initializing{flex-direction:column;align-items:center;gap:16px;padding:40px 0;display:flex}.login-spinner{border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;width:32px;height:32px;animation:.75s linear infinite spin}.login-initializing-text{color:var(--color-text-secondary);font-size:.875rem}.login-form-label{color:var(--color-text-primary);margin-bottom:6px;font-size:.875rem;font-weight:500;display:block}.login-form-field{margin-bottom:16px}.login-form-footer{border-top:1px solid var(--color-border);text-align:center;margin-top:28px;padding-top:24px}.login-form-footer-text{color:var(--color-text-muted);margin-bottom:10px;font-size:.75rem;line-height:1.5}.login-form-footer-link{color:var(--color-link);font-size:.875rem}.login-form-footer-link:hover{color:var(--color-link-hover)}.setup-requirements{flex-direction:column;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.setup-requirements li{color:var(--color-text-muted);padding-left:22px;font-size:.8125rem;line-height:1.4;transition:color .2s;position:relative}.setup-requirements li:before{content:"";border:1.5px solid var(--color-border);border-radius:50%;width:12px;height:12px;transition:all .2s;position:absolute;top:3px;left:2px}.setup-requirements li.met{color:var(--color-success)}.setup-requirements li.met:before{background:var(--color-success);border-color:var(--color-success);content:"";background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3.5 6L5.5 8L8.5 4' stroke='white' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:12px 12px}.setup-requirements li.unmet{color:var(--color-error)}.setup-requirements li.unmet:before{border-color:var(--color-error)}.setup-field-error{color:var(--color-error);margin-top:4px;font-size:.8125rem;line-height:1.4}.setup-success{flex-direction:column;align-items:center;gap:8px;padding:20px 0;display:flex}.setup-success-icon{color:var(--color-success);margin-bottom:8px}@media (width<=900px){.login-brand{width:320px;padding:48px 36px}.login-logo{width:150px;margin-bottom:24px}.login-tagline{margin-bottom:28px;font-size:1.1rem}.login-panel{padding:48px 32px}}@media (width<=768px){.login-brand{display:none}.login-panel{padding:48px 24px}.login-form-wrap{max-width:400px}}@media (width<=480px){.login-panel{padding:36px 20px}.login-form-wrap{max-width:100%}.login-title{margin-bottom:20px;font-size:1.25rem}}.error-boundary{min-height:100vh;padding:var(--spacing-xl);flex-direction:column;justify-content:center;align-items:center;font-family:system-ui,-apple-system,sans-serif;display:flex}.error-boundary__title{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-md)}.error-boundary__message{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);text-align:center;max-width:400px}.error-boundary__error-code{margin:0 0 var(--spacing-lg) 0;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center;max-width:600px}.error-boundary__error-code code{word-break:break-word;font-family:ui-monospace,SFMono-Regular,SF Mono,Menlo,Consolas,monospace}.error-boundary__actions{gap:var(--spacing-md);display:flex}.error-boundary__btn-primary{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm);border:none}.error-boundary__btn-secondary{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-surface);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm)}.error-boundary__details{margin-top:var(--spacing-xl);padding:var(--spacing-md);background-color:var(--color-surface-elevated);border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:pre-wrap;max-width:600px;overflow:auto}.pricing-gate{z-index:var(--z-overlay,1300);background:var(--color-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.pricing-gate-card{width:100%;max-width:440px;margin:var(--spacing-lg);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog);overflow:hidden}.pricing-gate-header{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-sm);display:flex}.pricing-gate-header h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0}.pricing-gate-header-icon{color:var(--color-primary);flex-shrink:0}.pricing-gate-subtitle{padding:0 var(--spacing-lg) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.pricing-gate-toggle{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-md);display:flex}.pricing-gate-toggle-btn{padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:var(--font-family-primary);color:var(--color-text-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);background:0 0}.pricing-gate-toggle-btn--active{color:var(--color-text-primary);background:var(--color-surface-elevated);border-color:var(--color-text-primary);font-weight:var(--font-weight-semibold)}.pricing-gate-price{text-align:center;padding:var(--spacing-lg);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated)}.pricing-gate-badge{padding:2px var(--spacing-sm);margin-bottom:var(--spacing-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-success);background:var(--color-success-bg);border-radius:var(--radius-full);display:inline-block}.pricing-gate-amount{justify-content:center;align-items:baseline;gap:var(--spacing-sm);display:flex}.pricing-gate-amount-original{font-size:var(--font-size-display,2.5rem);color:var(--color-text-secondary);text-decoration:line-through}.pricing-gate-amount-value{font-size:var(--font-size-display,2.5rem);font-weight:var(--font-weight-bold,700);color:var(--color-text-primary);line-height:1}.pricing-gate-amount-period{font-size:var(--font-size-sm);color:var(--color-text-secondary);align-self:baseline}.pricing-gate-revenue{font-size:var(--font-size-sm);color:var(--color-text-primary);margin:var(--spacing-sm) 0 0}.pricing-gate-features{padding:var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;display:flex}.pricing-gate-feature{align-items:start;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);display:flex}.pricing-gate-feature-icon{color:var(--color-success);flex-shrink:0;margin-top:2px}.pricing-gate-cta{padding:0 var(--spacing-lg) var(--spacing-lg);align-items:center;gap:var(--spacing-sm);flex-direction:column;display:flex}.pricing-gate-error{font-size:var(--font-size-xs);color:var(--color-error);margin-bottom:var(--spacing-xs)}.pricing-gate-cta button{width:100%;padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);font-family:var(--font-family-primary);color:var(--color-text-on-primary,#fff);background:var(--color-primary);border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast);border:none}.pricing-gate-cta button:hover:not(:disabled){opacity:.9}.pricing-gate-cta button:disabled{opacity:.6;cursor:not-allowed}.pricing-gate-cta-note{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.pricing-gate-help{text-align:center;padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--color-border);background:var(--color-surface-elevated)}.pricing-gate-help p{font-size:var(--font-size-xs);color:var(--color-text-secondary);margin:0}.pricing-gate-help a{color:var(--color-primary);text-decoration:none}.pricing-gate-help a:hover{text-decoration:underline}.pricing-gate-loading{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}
