*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}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);margin:0;padding:0;transition:background var(--transition-base),color var(--transition-base)}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{margin:0;color:var(--color-text-secondary)}a{color:var(--color-link);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-link-hover)}button{font-family:var(--font-family-primary);cursor:pointer;border:none;background:none;padding:0;font-size:inherit}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{list-style:none;margin:0;padding:0}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:spin 1s linear infinite}.spinner-md{width:40px;height:40px}.spinner-lg{width:48px;height:48px;border-width:4px}.spinner-inline{display:inline-block;width:1rem;height:1rem;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.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{display:flex;justify-content:center;align-items:center;height:100vh;background:var(--color-main-bg)}.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}.MuiButton-containedPrimary:not(:disabled){color:var(--color-text-inverse)!important}.MuiButton-containedPrimary:disabled{background-color:var(--color-border)!important;color:var(--color-text-muted)!important;opacity:.6}.MuiButton-outlinedSecondary:not(:disabled){color:var(--color-text-secondary)!important}.MuiButton-outlinedSecondary:disabled{border-color:var(--color-border)!important;color:var(--color-text-muted)!important;opacity:.6}.MuiButton-outlinedError:not(:disabled){border-color:var(--color-error)!important;color:var(--color-error)!important}.MuiButton-outlinedError:disabled{border-color:var(--color-border)!important;color:var(--color-text-muted)!important;opacity:.6}.MuiPagination-root{display:flex;align-items:center;justify-content:center}.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;min-width:32px!important;height:32px!important;margin:0!important;border-radius:var(--radius-sm)!important;border:1px solid var(--color-border)!important;background-color:var(--color-surface)!important;transition:all var(--transition-fast)!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;border:none!important;background-color:transparent!important}.MuiPaginationItem-ellipsis:hover{background-color:transparent!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{color:var(--color-text-muted)!important;opacity:1}.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-muted)!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{background-color:var(--color-surface)!important;box-shadow:var(--shadow-xl)!important;border-radius:var(--radius-lg)!important;border:1px solid var(--color-border)}.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}.MuiPickersDay-root{color:var(--color-text-primary)!important;font-size:var(--font-size-xs)!important;border-radius:var(--radius-sm)!important}.MuiPickersDay-root:hover{background-color:var(--color-hover)!important}.MuiPickersDay-root.Mui-selected{background-color:var(--color-primary)!important;color:var(--color-text-inverse)!important;font-weight:var(--font-weight-semibold)!important}.MuiPickersDay-root.Mui-selected:hover{background-color:var(--color-primary)!important;filter:brightness(1.1)}.MuiPickersDay-today:not(.Mui-selected){border-color:var(--color-primary)!important}.MuiPickersDay-root.Mui-disabled{color:var(--color-text-muted)!important;opacity:.4}.MuiPickersDay-dayOutsideMonth{color:var(--color-text-muted)!important;opacity:.5}.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;padding:4px 12px!important;transition:all var(--transition-fast)!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{color:var(--color-text-muted)!important;border-color:var(--color-border)!important;opacity:.5}.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}.MuiChip-root{font-size:var(--font-size-xs)!important;font-weight:var(--font-weight-medium)!important;border-color:var(--color-border)!important;color:var(--color-text-secondary)!important}.MuiChip-deleteIcon{color:var(--color-text-muted)!important;font-size:var(--font-size-sm)!important}.MuiChip-deleteIcon:hover{color:var(--color-text-secondary)!important}.MuiChip-outlined.MuiChip-colorPrimary{border-color:var(--color-primary)!important;color:var(--color-primary)!important}.MuiChip-outlined.MuiChip-colorSuccess{border-color:var(--color-success)!important;color:var(--color-success)!important}.MuiChip-outlined.MuiChip-colorError{border-color:var(--color-error)!important;color:var(--color-error)!important}.MuiChip-outlined.MuiChip-colorWarning{border-color:var(--color-warning)!important;color:var(--color-warning)!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)}.MuiDialogActions-root{padding:var(--spacing-lg)}.session-warning-dialog .MuiDialog-paper{max-width:380px;overflow:visible}.session-warning-body{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl) var(--spacing-xl) var(--spacing-lg);text-align:center}.session-warning-icon-wrapper{width:56px;height:56px;border-radius:var(--radius-full);background:var(--color-warning-bg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-md);transition:background var(--transition-base)}.session-warning-icon-wrapper.critical{background:var(--color-error-bg)}.session-warning-icon{font-size:28px;color:var(--color-warning);transition:color var(--transition-base)}.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{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.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);line-height:1;transition:color var(--transition-base)}.session-warning-time.critical{color:var(--color-error);animation:blink 1s ease-in-out infinite}@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:none;border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-base)}.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);display:flex;flex-direction:column}.tile-content{padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-lg);flex:1 1 auto;overflow:auto}.tile-content:has(.bar-envelope-wrapper){display:flex;flex-direction:column;padding-bottom:0;overflow:hidden;min-height:var(--chart-height-compact)}.tile-content:has(.bar-envelope-chart--tall){min-height:var(--chart-height-tall)}.tile-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm);padding:var(--spacing-sm) 0 var(--spacing-sm) var(--spacing-md)}.tile-title-block{display:flex;flex-direction:column;gap:var(--spacing-xxs)}.tile-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text-primary);margin:0;line-height:1;min-height:1.75rem;display:flex;align-items:center;position:relative}.tile-subtitle{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);margin:0}.tile-header-right{display:flex;align-items:center;gap:var(--spacing-xs);margin-right:var(--spacing-md)}.tile-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.tile-info-icon{font-size:var(--font-size-sm);color:var(--color-text-muted);position:absolute;top:50%;right:calc(-1 * var(--font-size-sm) - var(--spacing-xs));transform:translateY(-50%);opacity:0;transition:opacity var(--transition-fast);cursor:help}.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{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);white-space:nowrap;overflow:visible;min-width:0;flex:1}.tile-collapsed-summary-item{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.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);padding:4px;transform:rotate(-180deg);transition:transform var(--transition-base)}.tile-collapse-btn.MuiIconButton-root:hover{background-color:transparent}.tile-collapse-btn-collapsed{transform:rotate(0)!important}.tile-collapsible-wrapper{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--transition-slow)}.tile-collapsible-wrapper.tile-collapsed{grid-template-rows:0fr}.tile-collapsible-inner{overflow:hidden;min-height:0}.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{width:auto;flex:1}@media(max-width:1024px){.tile-quarter,.tile-third{width:calc(50% - var(--spacing-md) / 2)}}@media(max-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{flex-wrap:wrap;gap:var(--spacing-sm)}.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}.segment-control{display:inline-flex;background:var(--color-hover);border-radius:var(--radius-full);padding:var(--spacing-xxs);gap:var(--spacing-xxs)}.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)}.chart-category-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-hover);border:none;border-radius:var(--radius-full);padding:var(--spacing-xs) var(--spacing-lg) 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-secondary);cursor:pointer;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='%23777778'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;transition:all var(--transition-fast);max-width:160px}.chart-category-select:hover{color:var(--color-text-primary)}.chart-category-select:focus{outline:2px solid var(--color-primary);outline-offset:1px}.chart-category-select option{background:var(--color-surface);color:var(--color-text-primary)}.bar-envelope-controls{display:flex;gap:var(--spacing-sm);align-items:center;flex-wrap:wrap;flex-shrink:0;margin-bottom:var(--spacing-xs)}.bar-envelope-wrapper{display:flex;flex-direction:column;flex:1 1 0;min-height:0}.bar-envelope-chart{width:100%;flex:1 1 0;min-height:0;position:relative}.bar-envelope-history-hint{position:absolute;top:var(--spacing-xs);left:0;right:0;text-align:center;z-index:1;opacity:.8}@media(max-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-page-container{display:flex;flex-direction:column;gap:var(--spacing-md);height:100%;min-width:0;overflow:hidden}.grid-page-grid-wrapper{height:min(calc(100dvh - var(--page-chrome-offset, 260px)),600px);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{--page-chrome-offset: 280px}.dashboard-grid-wrapper{height:260px;margin-bottom:calc(-1 * var(--spacing-md))}@media(max-width:768px){.dashboard-grid-wrapper{height:360px}}.grid-page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background-color:var(--color-tile-inner);color:var(--color-text-primary);flex:1}.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{display:flex;justify-content:center;margin-top:0;padding-top:0;margin-bottom:0;padding-bottom:0;flex-shrink:0}.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;border-color:transparent!important;box-shadow:none!important;background-color:transparent!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{position:relative;display:inline-block;margin-left:var(--spacing-xs);width:12px;height:12px;padding:0;border:none;border-radius:var(--radius-full);background-color:var(--color-text-tertiary);font-size:0;cursor:pointer;vertical-align:text-top;margin-top:-2px;transition:background-color var(--transition-fast)}.drill-down-dismiss:before,.drill-down-dismiss:after{content:"";position:absolute;top:50%;left:50%;width:5px;height:1px;background-color:var(--color-text-inverse)}.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)}@media(max-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);display:flex;flex-direction:column;gap:var(--spacing-md);min-height:100%}.page-container>*{flex-shrink:0;flex-basis:auto}.tiles-row{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.tiles-strip{background-color:var(--color-tile-inner);border-radius:var(--radius-md)}.tiles-strip .tile{background-color:transparent}.tiles-strip .tile-header{justify-content:center;padding:var(--spacing-xs) 0 0 0;margin-bottom:0}.tiles-strip .tile-title-block{align-items:center;text-align:center}.tiles-strip .tile-title{justify-content:center;min-height:0;font-weight:var(--font-weight-medium);font-size:var(--font-size-xl)}.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{padding:0;gap:var(--spacing-sm)}@media(max-width:768px){.tiles-strip{justify-content:center}.tiles-strip .tile-quarter{width:auto;flex:1 1 0;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{padding:0;gap:var(--spacing-xs)}.tiles-strip .metric-value{font-size:var(--font-size-lg)}.tiles-strip .metric-change{font-size:var(--font-size-2xs);padding:var(--spacing-xxs) var(--spacing-sm)}}.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);margin:0;padding:var(--spacing-sm) 0}.page-header{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);border-bottom:1px solid var(--color-border)}.page-header-content{display:flex;align-items:center;gap:var(--spacing-md)}.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(max-width:768px){.snackbar-centered{left:50%!important;top:50%!important}}.ag-cell-center-content{display:flex;justify-content:center;align-items:center;height:100%}.metric-display{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-lg);gap:var(--spacing-md)}.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-change{font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);padding:1px 6px;border-radius:var(--radius-full);border:1px solid transparent;display:inline-block;line-height:1.2}.metric-change.positive{color:var(--color-success);background-color:var(--color-success-bg);border-color:var(--color-success-border-alpha)}.metric-change.negative{color:var(--color-error);background-color:var(--color-error-bg);border-color:var(--color-error-border-alpha)}.metric-change.neutral{color:var(--color-text-muted);background-color:var(--color-surface-elevated);border-color:var(--color-border)}.metric-change-new{color:var(--color-primary);background-color:var(--color-primary-bg, rgba(80, 144, 220, .1));border-color:#5090dc59;cursor:help;letter-spacing:.5px}.metric-info-icon{font-size:var(--font-size-sm)!important;color:var(--color-text-muted);position:absolute;top:0;right:calc(-1 * var(--font-size-sm) - var(--spacing-xs));cursor:help}.abc-xyz-matrix-container{width:30%;margin:0 auto;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.abc-xyz-matrix-container table{width:100%;border-collapse:collapse;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)}.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{color:var(--color-text-secondary)!important;text-decoration:underline}.ag-cell .grid-action-btn{font-size:.75rem!important;font-family:inherit!important;font-weight:var(--font-weight-medium)!important;text-transform:none!important;padding:2px 10px!important;min-width:auto!important;border-radius:var(--border-radius)!important;line-height:1.6!important}.ag-cell .grid-action-btn.grid-action-btn-lg{font-size:.85rem!important;padding:3px 12px!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{display:flex!important;justify-content:center!important;align-items:center!important}.ag-center-aligned-cell{text-align:center!important;justify-content:center!important;display:flex!important;align-items:center!important}.ag-boolean-cell{display:flex!important;align-items:center;justify-content:center}.ag-boolean-cell input[type=checkbox]{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:16px;height:16px;border:1px solid var(--color-border);border-radius:2px;cursor:pointer;position:relative;background:transparent;flex-shrink:0}.ag-boolean-cell input[type=checkbox]:checked:after{content:"";position:absolute;left:4px;top:1px;width:5px;height:9px;border:solid var(--color-primary);border-width:0 1.5px 1.5px 0;transform:rotate(45deg)}.ag-cell-editable-hint{border-bottom:1px dashed var(--color-border)!important;cursor:text}.ag-cell-unsaved{background-color:var(--color-primary-light)!important;font-weight:var(--font-weight-semibold)}.ag-rich-select{width:max-content!important}.ag-cell.ag-cell-range-selected.ag-cell-focus{outline:none!important;box-shadow:none!important}.tile-placeholder{min-height:300px}.grid-dynamic-wrapper{max-height:600px;width:100%;min-height:0}@media(max-width:768px){.page-container{padding:var(--spacing-md)}.page-header-title{font-size:var(--font-size-xl)}.tiles-row{flex-direction:column;flex-wrap:nowrap}.tiles-row.tiles-strip{flex-direction:row;flex-wrap:wrap}}@media(max-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{background-color:var(--color-surface)!important;color:var(--color-text-muted)!important;font-style:italic;opacity:.6}.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{max-width:100%;align-self:center;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.data-health-grid .ag-root-wrapper{border:none!important;border-radius:0!important}.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))}.profile-left-column{display:flex;flex-direction:column;gap:var(--spacing-md);width:calc(66.666% - var(--spacing-md) / 2)}.profile-right-column{display:flex;flex-direction:column;gap:var(--spacing-md);width:calc(33.333% - var(--spacing-md) / 2)}.profile-account-section{display:flex;gap:var(--spacing-xl);align-items:flex-start}.profile-avatar-block{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);flex-shrink:0}.profile-account-fields{flex:1;display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0}.profile-field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.profile-prefs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.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)}.profile-theme-row{display:flex;align-items:stretch;gap:var(--spacing-lg)}.profile-theme-divider{width:1px;align-self:stretch;background:var(--color-border);flex-shrink:0}.profile-theme-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.profile-theme-tiles{display:flex;gap:var(--spacing-md);flex:1}.profile-theme-tile{display:flex;flex-direction:column;align-items:center;justify-content: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)}.profile-theme-tile:hover{border-color:var(--color-border-hover);background:var(--color-surface-elevated)}.profile-theme-tile-selected{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-light);background:var(--color-primary-light)}.profile-theme-swatches{display:flex;gap:var(--spacing-sm)}.profile-theme-mini{width:56px;height:42px;border-radius:4px;overflow:hidden;border:1px solid var(--color-border);display:flex;flex-direction:column}.profile-theme-mini-topbar{height:5px;flex-shrink:0}.profile-theme-mini-body{flex:1;display:flex;min-height:0}.profile-theme-mini-sidebar{width:12px;flex-shrink:0}.profile-theme-mini-content{flex:1;display:flex;flex-direction:column;gap:3px;padding:4px}.profile-theme-mini-card{flex:1;border-radius:2px;min-height:0}.profile-theme-tile-label{font-size:var(--font-size-xs);color:var(--color-text-secondary);font-weight:var(--font-weight-medium)}.profile-chart-theme-swatches{display:flex;gap:var(--spacing-xs);padding:var(--spacing-xs)}.profile-chart-theme-swatch{width:14px;height:14px;border-radius:50%;flex-shrink:0}.profile-password-grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.profile-password-action{display:flex;justify-content:flex-end}.profile-avatar-block .avatar-fallback-icon{color:var(--color-text-tertiary);opacity:1}.profile-avatar-block .avatar-image-wrapper{background-color:var(--color-surface-elevated)}.profile-readonly-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.profile-readonly-item{display:flex;flex-direction:column;gap:var(--spacing-xxs)}.profile-readonly-item .MuiTypography-caption{color:var(--color-text-muted)}.profile-subscription-placeholder{display:flex;align-items:center;justify-content:center;min-height:120px;color:var(--color-text-muted)}@media(max-width:768px){.profile-left-column,.profile-right-column{width:100%}.profile-account-section{flex-direction:column;align-items:center}.profile-field-row,.profile-prefs-grid{grid-template-columns:1fr}.profile-theme-row{flex-direction:column}.profile-theme-divider{width:100%;height:1px}.profile-theme-tiles{flex-wrap:wrap;justify-content:center}}@media(min-width:769px)and (max-width:1024px){.profile-prefs-grid{grid-template-columns:repeat(2,1fr)}.profile-theme-row,.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{display:inline-flex;align-items:center}.filter-toggle-info{color:var(--color-text-muted);cursor:help;line-height:1;display:inline-flex;opacity:0;transition:opacity var(--transition-fast);margin-left:-10px;margin-top:-6px}.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{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md)}.confirm-dialog-icon{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full)}.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{display:flex;flex-direction:column;gap:var(--spacing-sm);min-width:0;padding-top:2px}.confirm-dialog-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:var(--line-height-normal)}.confirm-dialog-message{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:var(--line-height-normal)}.confirm-dialog-bullets{margin:var(--spacing-xs) 0 0 0;padding-left:var(--spacing-lg);list-style:disc}.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);margin:0;line-height:var(--line-height-normal)}.confirm-dialog-actions{display:flex;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)}.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);margin-bottom:0;display:flex;flex-direction:column;gap:var(--spacing-md)}.search-filters-stack{display:flex;flex-direction:row;gap:var(--spacing-md);align-items:center;flex-wrap:wrap}.search-filters-autocomplete{min-width:400px;flex:1 1 400px;max-width:600px}.search-filters-group,.search-filters-location{min-width:200px;flex:0 1 280px}.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(max-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(max-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{min-width:100%!important;max-width:100%;flex:1 1 auto}.search-filters-legend{text-align:center}}.override-cell-auto{color:var(--color-text-muted)}.override-cell-icon{vertical-align:super;margin-right:2px;font-size:0;color:var(--color-text-muted)}.forecast-cell-promoted{color:var(--color-primary)!important}.grid-pagination{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-lg);padding:6px 12px;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}.grid-pagination-range{white-space:nowrap}.grid-pagination-controls{display:flex;align-items:center;gap:2px}.grid-pagination-btn{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.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{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;padding:0 4px}.grid-pagination-input{width:36px;height:22px;padding:0 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-xs);font-family:inherit;text-align:center;outline:none;transition:border-color var(--transition-fast)}.grid-pagination-input:focus{border-color:var(--color-primary)}.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);border:1px solid var(--color-border)}.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);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-email{font-size:var(--font-size-xs);color:var(--color-top-menu-text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.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);border:1px solid var(--color-border);transition:background-color var(--transition-base)}.user-dropdown-store-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:none;border:none;width:100%;text-align:left;font:inherit}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);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition-base)}.user-dropdown-store-domain{font-size:var(--font-size-xs);color:var(--color-top-menu-text);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-store-arrow{color:var(--color-top-menu-text);flex-shrink:0;transition:transform var(--transition-base)}.user-dropdown-store-arrow.open{transform:rotate(180deg)}.user-dropdown-store-list{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:0 var(--spacing-xs) var(--spacing-xs)}.user-dropdown-store-list-divider{height:1px;background-color:var(--color-border);margin-bottom:var(--spacing-xs)}.user-dropdown-store-list-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-menu-button-hover);border:none;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)}.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{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-store-list-domain{display:block;font-size:var(--font-size-xs);color:var(--color-top-menu-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-dropdown-store-primary-badge{font-size:var(--font-size-xs);padding:2px 6px;background-color:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-sm);flex-shrink:0}.user-dropdown-store-settings-button{width:100%}.dropdown-button--staff{display:flex;align-items:center;justify-content:space-between}.dropdown-staff-icon{color:var(--color-warning);flex-shrink:0;opacity:.7}.dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:var(--z-dropdown);animation:dropdownFadeIn .2s ease-out}.dropdown.dropdown-centered{right:auto;left:50%;transform:translate(-50%);animation:dropdownFadeInCentered .2s ease-out}@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)}}.dropdown-panel{background-color:var(--color-menu-bg);padding:var(--spacing-sm);min-width:280px;box-shadow:var(--shadow-xl)}.dropdown-menu{display:flex;flex-direction:column}.dropdown-button,.dropdown-item{background:none;color:var(--color-sidebar-text);border:none;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);text-align:left;width:100%}.dropdown-button:hover,.dropdown-item:hover{color:var(--color-primary)}.dropdown-item.selected{color:var(--color-top-menu-text-active)}.dropdown-divider{height:1px;background-color:var(--color-border);margin:var(--spacing-sm) 0}a.dropdown-button{text-decoration:none}@media(max-width:768px){.dropdown-panel{min-width:260px}}@media(max-width:480px){.dropdown-panel{min-width:auto;max-width:calc(100vw - var(--spacing-md) * 2)}}.notification-dropdown-panel{min-width:320px}@media(max-width:480px){.notification-dropdown-panel{min-width:auto;width:calc(100vw - var(--spacing-md) * 2);max-width:320px}}.notification-dropdown-header h3{margin:0;padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-top-menu-text-active)}.notification-dropdown-empty{padding:var(--spacing-xl) var(--spacing-md);text-align:center}.notification-dropdown-empty p{margin:0;font-size:var(--font-size-sm);color:var(--color-top-menu-text)}.notification-dropdown-cards{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm)}.notification-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:var(--color-menu-button-bg);border:none;border-radius:var(--radius-md);cursor:pointer;width:100%;text-align:left;transition:background-color var(--transition-base)}.notification-card:hover{background-color:var(--color-menu-button-hover)}.notification-card-icon{width:36px;height:36px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;flex-shrink:0}.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-body{flex:1;min-width:0}.notification-card-title{margin:0;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-top-menu-text-active)}.notification-card-desc{margin:2px 0 0;font-size:var(--font-size-xs);color:var(--color-top-menu-text)}.notification-card-chevron{color:var(--color-top-menu-text);flex-shrink:0;font-size:1.25rem!important}.cp-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-tooltip) + 10);display:flex;align-items:flex-start;justify-content:center;padding-top:min(20vh,160px);background:var(--color-backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:cp-fade-in .15s ease-out}@keyframes cp-fade-in{0%{opacity:0}to{opacity:1}}.cp-dialog{width:100%;max-width:560px;max-height:min(60vh,480px);background:var(--color-tile-outer);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog);display:flex;flex-direction:column;overflow:hidden;animation:cp-slide-up .15s ease-out}@keyframes cp-slide-up{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.cp-input-wrapper{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-md);border-bottom:1px solid var(--color-border);flex-shrink:0}.cp-input-icon{color:var(--color-text-tertiary);flex-shrink:0}.cp-input{flex:1;border:none;outline:none;background:transparent;font-size:var(--font-size-base);font-family:var(--font-family-primary);color:var(--color-text-primary);line-height:var(--line-height-normal)}.cp-input::placeholder{color:var(--color-text-tertiary)}.cp-close-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-tertiary);flex-shrink:0;transition:background-color var(--transition-fast),color var(--transition-fast)}.cp-close-btn:hover{background:var(--color-hover);color:var(--color-text-primary)}.cp-results{flex:1;overflow-y:auto;padding:var(--spacing-sm) 0}.cp-results::-webkit-scrollbar{width:6px}.cp-results::-webkit-scrollbar-track{background:transparent}.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{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-sm) var(--spacing-sm);margin:0;border:none;border-radius:var(--radius-md);background:transparent;cursor:pointer;text-align:left;font-family:var(--font-family-primary);transition:background-color var(--transition-fast)}.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:1;min-width:0;display:flex;flex-direction:column;gap:1px}.cp-item-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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;overflow:hidden;text-overflow:ellipsis}.cp-item-enter{color:var(--color-text-tertiary);flex-shrink:0;opacity:0;transition:opacity var(--transition-fast)}.cp-item--active .cp-item-enter{opacity:1;color:var(--color-primary)}.cp-empty{display:flex;align-items:center;justify-content:center;padding:var(--spacing-xl) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}.cp-footer{display:flex;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}.cp-footer-hint{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.cp-kbd{display:inline-flex;align-items:center;justify-content:center;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);line-height:1}.cp-shortcut-badge{position:absolute;bottom:var(--spacing-xxs);right:0;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}@media(max-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{width:100%;max-width:420px;background:var(--color-tile-outer);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dialog);display:flex;flex-direction:column;overflow:hidden;animation:cp-slide-up .15s ease-out}.ksh-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--color-border)}.ksh-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;text-transform:uppercase;letter-spacing:.05em}.ksh-body{padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-md)}.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{display:flex;flex-direction:column;gap:var(--spacing-xs)}.ksh-row{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius-sm)}.ksh-row:hover{background:var(--color-hover)}.ksh-label{font-size:var(--font-size-sm);color:var(--color-text-primary)}.ksh-keys{display:flex;gap:var(--spacing-xs)}.ksh-kbd{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 6px;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);line-height:1}@media(max-width:640px){.ksh-dialog{margin:var(--spacing-sm)}}.top-menu{display:flex;align-items:center;justify-content:space-between;height:var(--top-menu-height);background:var(--color-top-menu-bg);padding:0 var(--spacing-md) 0 var(--spacing-md);position:fixed;top:0;left:0;right:0;z-index:calc(var(--z-fixed) + 1)}.top-menu-left{display:flex;align-items:center}.top-menu-sidebar-toggle{display:flex;align-items:center;justify-content:flex-start;height:40px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-top-menu-text);cursor:pointer;transition:color var(--transition-base);flex-shrink:0;padding:0 var(--spacing-md) 0 var(--spacing-sm)}.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{display:flex;align-items:center;padding-left:0;flex-shrink:0}.top-menu-logo{height:48px;width:auto;object-fit:contain;margin-top:3px}.top-menu-right{display:flex;align-items:center;gap:var(--spacing-md)}.top-menu-icon-btn{position:relative;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--color-top-menu-text);cursor:pointer;transition:all var(--transition-base)}.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{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;transition:transform .5s cubic-bezier(.4,0,.2,1)}.theme-toggle-btn .theme-icon-sun svg{color:#fbbf24;fill:#fbbf24}.theme-icon-sun,.theme-icon-moon{transform:translateY(100%) rotate(90deg)}.theme-light .theme-icon-moon,.theme-sky .theme-icon-moon,.theme-meadow .theme-icon-moon,.theme-dark .theme-icon-sun,.theme-navy .theme-icon-sun,.theme-forest .theme-icon-sun{transform:translateY(0) rotate(0)}.top-menu-notification-container{position:relative}.top-menu-notification-dot{position:absolute;top:8px;right:8px;width:8px;height:8px;background-color:var(--color-notification);border-radius:var(--radius-full)}.top-menu-user-avatar{width:28px;height:28px;border-radius:var(--radius-full);overflow:visible;border:2px solid transparent;cursor:pointer;transition:border-color var(--transition-base);background:transparent;padding:6px;box-sizing:content-box;display:flex;align-items:center;justify-content:center}.top-menu-user-avatar img{width:100%;height:100%;object-fit:cover}.top-menu-avatar-fallback{width:100%!important;height:100%!important;color:var(--color-top-menu-text)}.top-menu-user-dropdown-container{position:relative}.top-menu-mobile{display:none}@media(max-width:768px){.top-menu{display:none}.top-menu-mobile{display:flex;align-items:center;justify-content:space-between;height:var(--top-menu-height);background:var(--color-top-menu-bg);padding:0 var(--spacing-md);position:fixed;top:0;left:0;right:0;z-index:var(--z-fixed)}.hamburger-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--color-top-menu-text-active);cursor:pointer;border-radius:var(--radius-md);transition:background-color var(--transition-base)}.hamburger-btn:hover{background-color:var(--color-hover)}.hamburger-btn svg{font-size:1.75rem}.top-menu-logo-mobile{height:32px;width:auto;position:absolute;left:50%;transform:translate(-50%)}.mobile-menu-overlay{position:fixed;top:var(--top-menu-height);left:0;right:0;bottom:0;background-color:#00000080;z-index:var(--z-dropdown);animation:fadeIn .2s ease-out;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-menu-content{position:absolute;top:0;left:0;width:85%;max-width:320px;height:100%;background:linear-gradient(to bottom,var(--color-sidebar-bg-start),var(--color-sidebar-bg-end));padding:var(--spacing-lg);display:flex;flex-direction:column;gap:0;animation:slideInLeft .3s ease-out;box-shadow:2px 0 8px #0003;overflow-y:auto}.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);margin:0 0 2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-menu-user-email{font-size:var(--font-size-sm);color:#ffffff80;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-menu-store-name{font-size:var(--font-size-sm);color:#ffffff80;margin:var(--spacing-xs) 0 0 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.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;background-color:#ffffff1a;margin:var(--spacing-sm) 0}.mobile-menu-link{display:flex;align-items:center;justify-content:space-between;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);text-decoration:none;transition:color var(--transition-base);background:transparent;border:none;cursor:pointer;text-align:left}.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{display:flex;align-items:center;gap:var(--spacing-md)}.mobile-menu-chevron{font-size:1rem;color:#ffffff4d}.mobile-menu-link.active .mobile-menu-chevron{color:var(--color-primary)}.mobile-menu-footer{margin-top:auto;padding-top:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.mobile-menu-theme-toggle{display:flex;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);background:transparent;border:none;cursor:pointer;transition:color var(--transition-base)}.mobile-menu-theme-toggle:hover{color:var(--color-primary)}.mobile-menu-theme-toggle .mobile-menu-icon{font-size:1.25rem;color:inherit}.mobile-menu-logout{display:flex;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);background:transparent;border:none;cursor:pointer;transition:color var(--transition-base)}.mobile-menu-logout:hover{opacity:.8}.mobile-menu-logout .mobile-menu-icon{font-size:1.25rem;color:inherit}}.sidebar{position:fixed;top:var(--top-menu-height);left:0;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);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;transform:translate(0);transition:transform var(--transition-slow);will-change:transform}[data-sidebar=collapsed] .sidebar{transform:translate(-100%)}.sidebar-nav{display:flex;flex-direction:column;padding:var(--spacing-md) var(--spacing-sm) 0;gap:var(--spacing-xxs)}.sidebar-link{display:flex;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);text-decoration:none;transition:color var(--transition-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-icon{flex-shrink:0;opacity:.7}.sidebar-link:hover{color:var(--color-primary)}.sidebar-link.active{color:var(--color-primary);font-weight:var(--font-weight-semibold)}.sidebar-section-label{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;background:transparent;border:none;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);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-section-text{flex:1}.sidebar-caret{flex-shrink:0;opacity:.35}.sidebar-section-label:hover{color:var(--color-primary)}.sidebar-section-label.active{color:var(--color-primary);opacity:.9}.sidebar-section-label.active .sidebar-caret{opacity:.5}.sidebar-sub-group{display:flex;flex-direction:column;gap:var(--spacing-xxs)}.sidebar-sub-link{font-size:var(--font-size-base);font-weight:var(--font-weight-normal);padding-left:calc(var(--spacing-md) + 18px + var(--spacing-md));opacity:.78}.sidebar-sub-link:hover,.sidebar-sub-link.active{opacity:1}@media(max-width:768px){.sidebar{display:none}}.app-wrapper{display:flex;flex-direction:column;height:100dvh;background:var(--color-top-menu-bg);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);overflow:auto;transition:margin-left var(--transition-slow)}[data-sidebar=collapsed] .main-content{margin-left:0;border-top-left-radius:0}@media(max-width:768px){.main-content{margin-left:0;transition:none}}.dev-info{position:fixed;bottom:var(--spacing-sm);right:var(--spacing-sm);background-color:#000c;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;line-height:1.4}@media(max-width:768px){.dev-info{display:none}}.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);display:flex;align-items:center;justify-content:space-between;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.05em}.dialog-form .MuiDialogContent-root{padding:var(--spacing-lg)}.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{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-lg);padding:2px 0}.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)}.forecast-grid-container{display:flex;flex-direction:column;gap:var(--spacing-md);min-width:0;overflow:hidden}.history-cell{background-color:var(--color-surface-elevated)!important;color:var(--color-text-muted)}.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}.login-container{min-height:100vh;display:flex}.login-brand{width:420px;flex-shrink:0;background:var(--login-brand-bg);display:flex;flex-direction:column;justify-content:space-between;padding:56px 52px;position:relative;overflow:hidden}.login-brand:before{content:"";position:absolute;top:-30%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,var(--login-brand-glow) 0%,transparent 70%);pointer-events:none}.login-brand-content{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative}.login-logo{width:180px;height:auto;margin-bottom:32px}.login-brand-accent{width:180px;height:3px;background:var(--login-accent-color);border-radius:2px;margin-bottom:28px}.login-tagline{margin:0 0 36px;color:var(--login-brand-text);font-size:1.25rem;line-height:1.6;font-weight:300;letter-spacing:.01em}.login-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}.login-features li{color:var(--login-brand-text-muted);font-size:.875rem;padding-left:20px;position:relative;line-height:1.4}.login-features li:before{content:"";position:absolute;left:0;top:6px;width:6px;height:6px;background:var(--login-accent-color);border-radius:50%;opacity:.7}.login-brand-footer{padding-top:24px;border-top:1px solid var(--login-brand-border)}.login-brand-footer span{color:var(--login-brand-footer);font-size:.75rem;letter-spacing:.05em}.login-panel{flex:1;background:var(--color-surface);display:flex;align-items:center;justify-content:center;padding:56px 48px 112px}.login-form-wrap{width:100%;max-width:360px}.login-title{margin:0 0 28px;font-size:1.5rem;font-weight:600;color:var(--color-text-primary);letter-spacing:-.01em}.login-subtitle{color:var(--color-text-secondary);font-size:.9375rem;font-weight:400;margin:0 0 20px}.login-form{display:flex;flex-direction:column;gap:14px}.login-input-group{display:flex;flex-direction:column}.login-input-wrapper{position:relative}.login-input{width:100%;background:var(--color-surface);color:var(--color-text-primary);padding:10px 14px;border-radius:6px;border:1.5px solid var(--color-border);font-size:.9375rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.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{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .15s ease}.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{display:flex;align-items:center;justify-content:space-between;margin-top:2px}.login-remember-me{display:flex;align-items:center;gap:8px}.login-forgot-link{background:none;border:none;color:var(--color-link);font-size:.8125rem;cursor:pointer;padding:0;transition:color .15s ease}.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;margin:0;flex-shrink:0}.login-remember-checkbox:disabled{opacity:.5;cursor:not-allowed}.login-remember-label{color:var(--color-text-secondary);font-size:.875rem;cursor:pointer;-webkit-user-select:none;user-select:none;margin:0}.login-button{width:100%;background:var(--color-primary);color:var(--color-text-inverse);padding:11px 20px;border-radius:6px;border:none;font-size:.9375rem;font-weight:600;cursor:pointer;transition:background .15s ease,box-shadow .15s ease,transform .15s ease;margin-top:6px}.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){transform:translateY(0);box-shadow:none}.login-button:disabled{opacity:.45;cursor:not-allowed;transform:none}.login-button-secondary{background:transparent;color:var(--color-text-secondary);border:1.5px solid var(--color-border)}.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{background:none;border:none;color:var(--color-link);font-size:.875rem;cursor:pointer;padding:0;text-align:center;width:100%;margin-top:8px;transition:color .15s ease}.login-link-button:hover{color:var(--color-link-hover);text-decoration:underline}.login-info{padding:10px 14px;border-radius:6px;font-size:.875rem;border:1px solid var(--color-border);color:var(--color-text-secondary);line-height:1.5;margin-bottom:16px}.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{display:flex;flex-direction:column;align-items:center;gap:16px;padding:40px 0}.login-spinner{width:32px;height:32px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin .75s linear infinite}.login-initializing-text{color:var(--color-text-secondary);font-size:.875rem}.login-form-label{display:block;margin-bottom:6px;font-size:.875rem;font-weight:500;color:var(--color-text-primary)}.login-form-field{margin-bottom:16px}.login-form-footer{margin-top:28px;padding-top:24px;border-top:1px solid var(--color-border);text-align:center}.login-form-footer-text{font-size:.75rem;color:var(--color-text-muted);margin-bottom:10px;line-height:1.5}.login-form-footer-link{font-size:.875rem;color:var(--color-link)}.login-form-footer-link:hover{color:var(--color-link-hover)}.setup-requirements{list-style:none;padding:0;margin:4px 0 0;display:flex;flex-direction:column;gap:6px}.setup-requirements li{font-size:.8125rem;color:var(--color-text-muted);padding-left:22px;position:relative;line-height:1.4;transition:color .2s ease}.setup-requirements li:before{content:"";position:absolute;left:2px;top:3px;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--color-border);transition:all .2s ease}.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-repeat:no-repeat;background-position:center;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{font-size:.8125rem;color:var(--color-error);margin-top:4px;line-height:1.4}.setup-success{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 0}.setup-success-icon{color:var(--color-success);margin-bottom:8px}@media(max-width:900px){.login-brand{width:320px;padding:48px 36px}.login-logo{width:150px;margin-bottom:24px}.login-tagline{font-size:1.1rem;margin-bottom:28px}.login-panel{padding:48px 32px}}@media(max-width:768px){.login-brand{display:none}.login-panel{padding:48px 24px}.login-form-wrap{max-width:400px}}@media(max-width:480px){.login-panel{padding:36px 20px}.login-form-wrap{max-width:100%}.login-title{font-size:1.25rem;margin-bottom:20px}}.page-container>.tile:has(.reports-hub-list)>.tile-content{padding:0}.reports-hub-list{display:flex;flex-direction:column}.reports-hub-row{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);text-decoration:none;border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast);cursor:pointer}.reports-hub-row:last-child{border-bottom:none}.reports-hub-row:hover{background-color:var(--color-hover)}.reports-hub-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);flex-shrink:0}.reports-hub-text{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.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);flex-shrink:0;transition:transform var(--transition-fast),color var(--transition-fast)}.reports-hub-row:hover .reports-hub-chevron{color:var(--color-text-secondary);transform:translate(2px)}.reports-hub-row-last{border-bottom:none;border-radius:0 0 var(--radius-md) var(--radius-md)}.report-kpi-wrapper{background-color:var(--color-tile-inner);border-radius:var(--radius-md)}.report-kpi-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) 0 .75rem var(--spacing-md);cursor:pointer;-webkit-user-select:none;user-select:none}.report-kpi-header-left{display:flex;align-items:center;gap:var(--spacing-xs)}.report-kpi-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium);color:var(--color-text-primary);line-height:1;min-height:1.75rem;display:inline-flex;align-items:center}.report-kpi-spinner{color:var(--color-text-muted);animation:report-kpi-spin 1s linear infinite}@keyframes report-kpi-spin{to{transform:rotate(360deg)}}.report-kpi-collapse-btn{display:flex;align-items:center;justify-content:center;padding:4px;min-height:1.75rem;margin-right:var(--spacing-md);border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transform:rotate(-180deg);transition:transform var(--transition-base)}.report-kpi-collapse-btn:hover{color:var(--color-text-secondary)}.report-kpi-collapse-btn-collapsed{transform:rotate(0)}.report-kpi-collapsed-summary{display:flex;align-items:baseline;justify-content:center;gap:0;white-space:nowrap;overflow:hidden;min-width:0;flex:1}.report-kpi-collapsed-item{display:inline-flex;align-items:baseline;gap:3px}.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{display:grid;grid-template-rows:1fr;transition:grid-template-rows var(--transition-slow)}.report-kpi-body-collapsed{grid-template-rows:0fr}.report-kpi-body-inner{overflow:hidden;min-height:0}.report-kpi-strip{display:flex;gap:var(--spacing-md);flex-wrap:wrap;padding:0 var(--spacing-sm) var(--spacing-sm)}.report-kpi-card{position:relative;flex:1;display:flex;flex-direction:column;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);min-width:120px}.report-kpi-card-info{position:absolute;top:4px;right:4px;color:var(--color-text-muted);cursor:help;opacity:0;transition:opacity var(--transition-fast);line-height:1}.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{display:flex;align-items:center;justify-content:center;gap:4px;font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;text-align:center}.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(max-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{display:flex;align-items:center;gap:6px;width:100%;height:100%}.progress-bar-track{width:60px;height:6px;border-radius:3px;background-color:var(--color-border);overflow:hidden}.progress-bar-fill{height:100%;border-radius:3px;background-color:var(--color-neutral);transition:width .3s}.progress-bar-label{font-size:var(--font-size-xs);min-width:36px;text-align:right}.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{display:inline-flex;align-items:center;padding:2px 8px;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}.bu-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 18px;border:none;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;line-height:1.4}.bu-btn-primary{background:var(--color-primary);color:var(--color-text-inverse)}.bu-btn-primary:hover{filter:brightness(1.1)}.bu-btn-ghost{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary)}.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{display:flex;flex-direction:column;gap:var(--spacing-xs)}.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{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:8px 32px 8px 12px;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-repeat:no-repeat;background-position:right 10px center}.bu-select:hover{border-color:var(--color-border-hover)}.bu-select:focus{outline:none;border-color:var(--color-primary)}.bu-banner{padding:10px 14px;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.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{font-weight:400;opacity:.8}.bu-file-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);padding:10px 14px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.bu-file-info{display:flex;flex-direction:column;gap:var(--spacing-xxs);min-width:0}.bu-file-name{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bu-file-meta{font-size:var(--font-size-xs);color:var(--color-text-muted)}.bu-file-actions{display:flex;gap:var(--spacing-sm);flex-shrink:0}.bu-results{display:flex;flex-direction:column;gap:var(--spacing-md)}.bu-chips{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.bu-results-footer{display:flex;justify-content:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border)}.bu-progress{display:flex;flex-direction:column;gap:var(--spacing-sm)}.bu-progress-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.bu-actions-center{text-align:center}.bu-panel-center{display:flex;justify-content:center}.bu-panel-card{width:100%;max-width:540px;background:var(--color-tile-inner);border-radius:var(--radius-lg);padding:var(--spacing-lg) var(--spacing-xl)}.bu-panel-selectors{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.bu-panel-selectors .bu-field{flex:1}.bu-panel-upload-zone{display:flex;flex-direction:column;gap:var(--spacing-md)}.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(max-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{display:flex;flex-direction:column;flex:1;width:100%;height:100%;background-color:var(--color-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:box-shadow var(--transition-base);overflow:hidden}.forecast-chart-container:hover{box-shadow:var(--shadow-md)}.forecast-chart{flex:1;display:flex;min-height:0}.forecast-chart .ag-charts-wrapper{flex:1!important;width:100%!important;height:100%!important}.forecast-chart-loading,.forecast-chart-no-data{display:flex;justify-content:center;align-items:center;background-color:var(--color-surface);border-radius:var(--radius-lg);border:2px dashed var(--color-border);height:100%;transition:all var(--transition-base)}.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{height:100%!important;width:100%!important}.ag-chart-tooltip{background:var(--color-text-primary)!important;color:var(--color-text-inverse)!important;border:none!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}.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{background:none;border:none;cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:all var(--transition-base);width:32px;height:32px}.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:none;transform:none}.forecast-chart-modal .MuiDialog-paper{display:flex;flex-direction:column;height:90vh;max-height:900px;width:90vw;max-width:1400px}.forecast-chart-modal-header{background-color:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);padding:var(--spacing-lg);display:flex;flex-direction:row;align-items:center;gap:var(--spacing-sm)}.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{display:flex;flex:1;flex-direction:column;padding:var(--spacing-xl);background-color:var(--color-tile-outer);overflow:hidden;min-height:0}.forecast-chart-modal-chart-wrapper{display:flex;flex-direction:column;flex:1;width:100%;min-height:0;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(max-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(max-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)}}.calendar-editor{display:flex;flex-direction:column;gap:var(--spacing-lg);padding:var(--spacing-sm) 0}.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{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--spacing-xs);margin-top:var(--spacing-sm)}.calendar-day-card{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid transparent;padding:var(--spacing-xs);gap:2px}.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{display:flex;flex-direction:column;height:100%;gap:var(--spacing-sm)}.calendar-month-nav{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-xs) 0}.calendar-month-label{font-weight:var(--font-weight-semibold);min-width:160px;text-align:center}.calendar-grid-header{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.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{display:flex;flex-direction:column;gap:2px;flex:1;transition:opacity var(--transition-fast)}.calendar-grid.calendar-grid-loading{opacity:.4;pointer-events:none}.calendar-grid-row{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-grid-cell{display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:2px;position:relative;-webkit-user-select:none;user-select:none}.calendar-grid-cell.empty{cursor:default;background:transparent}.calendar-grid-cell.missing{cursor:default;background:var(--color-surface-elevated);border:1px dashed var(--color-border);opacity:.5}.calendar-grid-cell.working{background-color:var(--color-primary-light);border:1px solid var(--color-primary)}.calendar-grid-cell.non-working{background-color:var(--color-warning-bg);border:1px solid var(--color-warning)}.calendar-grid-cell.has-name{border-width:2px}.calendar-grid-cell:not(.empty):not(.missing):hover{box-shadow:var(--shadow-sm);z-index:1}.calendar-grid-date{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1}.calendar-grid-name{font-size:.625rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;line-height:1.2}.calendar-legend{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg);padding:var(--spacing-sm) 0;font-size:var(--font-size-xs);color:var(--color-text-secondary);flex-wrap:wrap}.calendar-legend-item{display:flex;align-items:center;gap:var(--spacing-xs)}.calendar-legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.calendar-legend-dot.working{background-color:var(--color-primary)}.calendar-legend-dot.non-working{background-color:var(--color-warning)}.calendar-legend-hint{font-style:italic}.calendar-name-editor{padding:var(--spacing-sm);border-top:1px solid var(--color-border)}.calendar-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-3xl) var(--spacing-md);color:var(--color-text-secondary);text-align:center;gap:var(--spacing-sm)}.calendar-empty-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.calendar-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md);color:var(--color-text-secondary)}.calendar-modal-header{background-color:var(--color-surface-elevated);border-bottom:1px solid var(--color-border);padding:var(--spacing-sm) var(--spacing-lg);display:flex;align-items:center;gap:var(--spacing-sm)}.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-input{font-size:var(--font-size-xl);font-weight:var(--font-weight-normal);font-family:var(--font-family-primary);color:var(--color-text-primary);background:transparent;border:none;outline:none;width:100%;padding:0;line-height:var(--line-height-tight);border-bottom:1px solid transparent}.calendar-modal-name-input:focus{border-bottom-color:var(--color-primary)}.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);padding:0;max-width:400px;margin:0 auto}.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{height:auto;max-width:400px;margin:0 auto;gap:2px}.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{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--spacing-xs)}.calendar-modal-assigned-item{display:flex;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)}.calendar-modal-no-assigned{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;text-align:center}.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(max-width:768px){.calendar-day-label{font-size:.65rem}}: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{flex:1;text-align:center;padding:var(--spacing-xs) 0;border-left:1px solid var(--color-border);min-width:80px}.promo-timeline-month-current{background-color:var(--color-primary-light)}.promo-timeline-body{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.promo-timeline-row{display:flex;align-items:center;height:28px}.promo-timeline-label{flex-shrink:0;padding-right:var(--spacing-sm);text-align:right;font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;position:sticky;left:0;z-index:2;background-color:var(--color-tile-outer)}.promo-timeline-track{flex:1;position:relative;height:20px;background:var(--color-surface-elevated);border-radius:var(--radius-sm)}.promo-timeline-bar{position:absolute;top:2px;height:16px;border-radius:var(--radius-sm);min-width:4px;transition:opacity var(--transition-fast);z-index:1}.promo-timeline-bar:hover{opacity:.85}.promo-timeline-bar-pre{opacity:.35}.promo-timeline-today{position:absolute;top:0;bottom:0;width:1px;border-left:2px dashed var(--color-primary);opacity:.5;z-index:2;pointer-events:none}:root{--color-top-menu-bg: #000000;--color-top-menu-text: rgba(255, 255, 255, .6);--color-top-menu-text-active: #FFFFFF;--color-top-menu-text-hover: #FFFFFF;--color-sidebar-bg-start: #000000;--color-sidebar-bg-end: rgb(30, 19, 16);--color-sidebar-text: #FFFFFF;--color-main-bg: rgb(244, 242, 244);--color-tile-outer: rgb(244, 242, 244);--color-tile-inner: #FFFFFF;--color-menu-bg: #1c1c1c;--color-menu-button-bg: #333333;--color-menu-button-hover: #404040;--color-menu-text: #FFFFFF;--color-heading: #213d8c;--color-text-primary: #011F26;--color-text-secondary: #434247;--color-text-tertiary: #999999;--color-text-inverse: #FFFFFF;--color-text-muted: #777778;--color-border: #D9DEE7;--color-border-hover: #CBD2DF;--color-border-focus: #BAC3D4;--color-surface: #FFFFFF;--color-surface-elevated: rgb(245, 245, 245);--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: rgba(107, 114, 128, .08);--color-info: #3B82F6;--color-info-bg: rgba(59, 130, 246, .08);--color-border-subtle: #BAC3D4;--color-notification: #FF6B35;--color-primary: #3B82F6;--color-primary-light: rgba(59, 130, 246, .1);--color-primary-focus-ring: rgba(59, 130, 246, .1);--color-primary-glow: rgba(59, 130, 246, .28);--color-success-border-alpha: rgba(16, 185, 129, .35);--color-error-border-alpha: rgba(239, 68, 68, .35);--color-link: #2563EB;--color-link-hover: #1D4ED8;--color-hover: rgba(67, 66, 71, .08);--color-active: rgba(67, 66, 71, .12);--color-selected: rgba(67, 66, 71, .16);--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: rgba(59, 130, 246, .05);--color-overlay: rgba(0, 0, 0, .5);--color-overlay-light: rgba(0, 0, 0, .3);--color-backdrop: rgba(1, 31, 38, .7);--login-brand-bg: linear-gradient(165deg, #000000 0%, #0a0705 50%, #140c0a 100%);--login-brand-glow: rgba(255, 255, 255, .03);--login-brand-text: rgba(255, 255, 255, .88);--login-brand-text-muted: rgba(255, 255, 255, .45);--login-brand-border: rgba(255, 255, 255, .06);--login-brand-footer: rgba(255, 255, 255, .2);--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 rgba(1, 31, 38, .05);--shadow-base: 0 1px 3px 0 rgba(1, 31, 38, .1), 0 1px 2px -1px rgba(1, 31, 38, .1);--shadow-md: 0 4px 6px -1px rgba(1, 31, 38, .1), 0 2px 4px -2px rgba(1, 31, 38, .1);--shadow-lg: 0 10px 15px -3px rgba(1, 31, 38, .1), 0 4px 6px -4px rgba(1, 31, 38, .1);--shadow-xl: 0 20px 25px -5px rgba(1, 31, 38, .1), 0 8px 10px -6px rgba(1, 31, 38, .1);--shadow-dialog: 0 16px 48px rgba(0, 0, 0, .2), 0 4px 12px rgba(0, 0, 0, .1);--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: #000000;--color-top-menu-text: #BEC2C8;--color-top-menu-text-active: #FFFFFF;--color-top-menu-text-hover: #FFFFFF;--color-sidebar-bg-start: #000000;--color-sidebar-bg-end: rgb(20, 12, 10);--color-sidebar-text: #FFFFFF;--color-main-bg: rgb(31, 31, 31);--color-tile-outer: rgb(31, 31, 31);--color-tile-inner: rgb(41, 41, 41);--color-menu-bg: rgb(35, 35, 35);--color-menu-button-bg: rgb(50, 50, 50);--color-menu-button-hover: rgb(65, 65, 65);--color-menu-text: #FFFFFF;--color-heading: #FFFFFF;--color-text-primary: #FFFFFF;--color-text-secondary: #E5E5E5;--color-text-tertiary: #888888;--color-text-inverse: #011F26;--color-text-muted: #777778;--color-border: rgb(65, 65, 65);--color-border-hover: rgb(80, 80, 80);--color-border-focus: rgb(95, 95, 95);--color-surface: rgb(41, 41, 41);--color-surface-elevated: rgb(51, 51, 51);--color-hover: rgba(255, 255, 255, .08);--color-active: rgba(255, 255, 255, .12);--color-selected: rgba(255, 255, 255, .16);--color-accent: #BAC3D4;--color-success: #10B981;--color-success-bg: rgba(16, 185, 129, .1);--color-success-hover: #0EA573;--color-warning: #F59E0B;--color-warning-bg: rgba(245, 158, 11, .1);--color-warning-hover: #D97706;--color-error: #EF4444;--color-error-bg: rgba(239, 68, 68, .1);--color-error-hover: #DC2626;--color-neutral: #9CA3AF;--color-neutral-bg: rgba(156, 163, 175, .1);--color-info: #60A5FA;--color-info-bg: rgba(96, 165, 250, .1);--color-border-subtle: rgb(80, 80, 80);--color-notification: #FF6B35;--color-primary: #60A5FA;--color-primary-light: rgba(59, 130, 246, .15);--color-link: #60A5FA;--color-link-hover: #93C5FD;--color-cell-modified: rgba(245, 158, 11, .12);--color-cell-modified-text: #FFD700;--color-cell-empty-bg: rgba(255, 255, 255, .03);--color-cell-editable-bg: rgba(96, 165, 250, .08);--color-backdrop: rgba(0, 0, 0, .85);--login-brand-bg: linear-gradient(165deg, #000000 0%, #0a0705 50%, #140c0a 100%);--login-brand-glow: rgba(255, 255, 255, .03);--login-brand-text: rgba(255, 255, 255, .88);--login-brand-text-muted: rgba(255, 255, 255, .45);--login-brand-border: rgba(255, 255, 255, .06);--login-brand-footer: rgba(255, 255, 255, .2);--login-accent-color: #60A5FA}[data-theme=navy]{--color-top-menu-bg: #0d1526;--color-top-menu-text: rgba(255, 255, 255, .55);--color-top-menu-text-active: #FFFFFF;--color-top-menu-text-hover: #FFFFFF;--color-sidebar-bg-start: #0d1526;--color-sidebar-bg-end: #111d34;--color-sidebar-text: #FFFFFF;--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: #FFFFFF;--color-heading: #FFFFFF;--color-text-primary: rgba(255, 255, 255, .92);--color-text-secondary: rgba(255, 255, 255, .68);--color-text-tertiary: rgba(255, 255, 255, .4);--color-text-inverse: #111d34;--color-text-muted: rgba(255, 255, 255, .35);--color-border: rgba(255, 255, 255, .12);--color-border-hover: rgba(255, 255, 255, .18);--color-border-focus: rgba(255, 255, 255, .25);--color-surface: #1a2b4a;--color-surface-elevated: #243656;--color-hover: rgba(255, 255, 255, .06);--color-active: rgba(255, 255, 255, .1);--color-selected: rgba(59, 130, 246, .2);--color-accent: #3B82F6;--color-success: #34D399;--color-success-bg: rgba(52, 211, 153, .12);--color-success-hover: #10B981;--color-warning: #FBBF24;--color-warning-bg: rgba(251, 191, 36, .12);--color-warning-hover: #E5A50A;--color-error: #F87171;--color-error-bg: rgba(248, 113, 113, .12);--color-error-hover: #EF4444;--color-neutral: #94A3B8;--color-neutral-bg: rgba(148, 163, 184, .12);--color-info: #60A5FA;--color-info-bg: rgba(96, 165, 250, .12);--color-border-subtle: rgba(255, 255, 255, .12);--color-notification: #FF6B35;--color-primary: #60A5FA;--color-primary-light: rgba(96, 165, 250, .15);--color-link: #60A5FA;--color-link-hover: #93C5FD;--color-cell-modified: rgba(251, 191, 36, .12);--color-cell-modified-text: #FBBF24;--color-cell-empty-bg: rgba(255, 255, 255, .02);--color-cell-editable-bg: rgba(96, 165, 250, .08);--color-backdrop: rgba(13, 21, 38, .9);--login-brand-bg: linear-gradient(165deg, #0d1526 0%, #0f1b2e 50%, #111d34 100%);--login-brand-glow: rgba(59, 130, 246, .08);--login-brand-text: rgba(255, 255, 255, .88);--login-brand-text-muted: rgba(255, 255, 255, .45);--login-brand-border: rgba(255, 255, 255, .06);--login-brand-footer: rgba(255, 255, 255, .2);--login-accent-color: #60A5FA;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .35), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .35), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .35), 0 4px 6px -4px rgba(0, 0, 0, .3)}[data-theme=sky]{--color-top-menu-bg: #0a1628;--color-top-menu-text: rgba(255, 255, 255, .55);--color-top-menu-text-active: #FFFFFF;--color-top-menu-text-hover: #FFFFFF;--color-sidebar-bg-start: #0a1628;--color-sidebar-bg-end: #132039;--color-sidebar-text: #FFFFFF;--color-main-bg: #E8EDF4;--color-tile-outer: #E8EDF4;--color-tile-inner: #FFFFFF;--color-menu-bg: #0f1d32;--color-menu-button-bg: #1c3050;--color-menu-button-hover: #243a60;--color-menu-text: #FFFFFF;--color-heading: #0f172a;--color-text-primary: #0f172a;--color-text-secondary: #475569;--color-text-tertiary: #94a3b8;--color-text-inverse: #FFFFFF;--color-text-muted: #94a3b8;--color-border: #CBD5E1;--color-border-hover: #B0BED0;--color-border-focus: #93A5BE;--color-surface: #FFFFFF;--color-surface-elevated: #F1F5F9;--color-hover: rgba(15, 23, 42, .06);--color-active: rgba(15, 23, 42, .1);--color-selected: rgba(59, 130, 246, .12);--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: rgba(100, 116, 139, .08);--color-info: #3B82F6;--color-info-bg: rgba(59, 130, 246, .08);--color-border-subtle: #B0BED0;--color-notification: #FF6B35;--color-primary: #3B82F6;--color-primary-light: rgba(59, 130, 246, .1);--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: rgba(59, 130, 246, .05);--color-backdrop: rgba(15, 23, 42, .7);--login-brand-bg: linear-gradient(165deg, #070e1a 0%, #091420 50%, #0a1628 100%);--login-brand-glow: rgba(59, 130, 246, .08);--login-brand-text: rgba(255, 255, 255, .88);--login-brand-text-muted: rgba(255, 255, 255, .45);--login-brand-border: rgba(255, 255, 255, .06);--login-brand-footer: rgba(255, 255, 255, .2);--login-accent-color: #3B82F6}[data-theme=forest]{--color-top-menu-bg: #0d2614;--color-top-menu-text: rgba(255, 255, 255, .55);--color-top-menu-text-active: #FFFFFF;--color-top-menu-text-hover: #FFFFFF;--color-sidebar-bg-start: #0d2614;--color-sidebar-bg-end: #112f1c;--color-sidebar-text: #FFFFFF;--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: #FFFFFF;--color-heading: #FFFFFF;--color-text-primary: rgba(255, 255, 255, .92);--color-text-secondary: rgba(255, 255, 255, .68);--color-text-tertiary: rgba(255, 255, 255, .4);--color-text-inverse: #112f1c;--color-text-muted: rgba(255, 255, 255, .35);--color-border: rgba(255, 255, 255, .12);--color-border-hover: rgba(255, 255, 255, .18);--color-border-focus: rgba(255, 255, 255, .25);--color-surface: #1b3824;--color-surface-elevated: #22482e;--color-hover: rgba(255, 255, 255, .06);--color-active: rgba(255, 255, 255, .1);--color-selected: rgba(16, 185, 129, .2);--color-accent: #10B981;--color-success: #34D399;--color-success-bg: rgba(52, 211, 153, .12);--color-success-hover: #10B981;--color-warning: #FBBF24;--color-warning-bg: rgba(251, 191, 36, .12);--color-warning-hover: #E5A50A;--color-error: #F87171;--color-error-bg: rgba(248, 113, 113, .12);--color-error-hover: #EF4444;--color-neutral: #86A68E;--color-neutral-bg: rgba(134, 166, 142, .12);--color-info: #34D399;--color-info-bg: rgba(52, 211, 153, .12);--color-border-subtle: rgba(255, 255, 255, .08);--color-notification: #FF6B35;--color-primary: #34D399;--color-primary-light: rgba(52, 211, 153, .15);--color-link: #34D399;--color-link-hover: #6EE7B7;--color-cell-modified: rgba(251, 191, 36, .12);--color-cell-modified-text: #FBBF24;--color-cell-empty-bg: rgba(255, 255, 255, .02);--color-cell-editable-bg: rgba(52, 211, 153, .08);--color-backdrop: rgba(13, 38, 20, .9);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-base: 0 1px 3px 0 rgba(0, 0, 0, .35), 0 1px 2px -1px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .35), 0 2px 4px -2px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .35), 0 4px 6px -4px rgba(0, 0, 0, .3);--login-brand-bg: linear-gradient(165deg, #0d2614 0%, #0f2b18 50%, #112f1c 100%);--login-brand-glow: rgba(16, 185, 129, .08);--login-brand-text: rgba(255, 255, 255, .88);--login-brand-text-muted: rgba(255, 255, 255, .45);--login-brand-border: rgba(255, 255, 255, .06);--login-brand-footer: rgba(255, 255, 255, .2);--login-accent-color: #34D399}[data-theme=meadow]{--color-top-menu-bg: #071a0c;--color-top-menu-text: rgba(255, 255, 255, .55);--color-top-menu-text-active: #FFFFFF;--color-top-menu-text-hover: #FFFFFF;--color-sidebar-bg-start: #071a0c;--color-sidebar-bg-end: #0a2412;--color-sidebar-text: #FFFFFF;--color-main-bg: #EDF5EE;--color-tile-outer: #EDF5EE;--color-tile-inner: #FFFFFF;--color-menu-bg: #0b1f0f;--color-menu-button-bg: #1a3d22;--color-menu-button-hover: #224d2c;--color-menu-text: #FFFFFF;--color-heading: #0f2918;--color-text-primary: #0f2918;--color-text-secondary: #3d5a45;--color-text-tertiary: #7a9a82;--color-text-inverse: #FFFFFF;--color-text-muted: #7a9a82;--color-border: #C2D5C6;--color-border-hover: #A8C4AE;--color-border-focus: #8FB497;--color-surface: #FFFFFF;--color-surface-elevated: #F2F8F3;--color-hover: rgba(15, 41, 24, .06);--color-active: rgba(15, 41, 24, .1);--color-selected: rgba(16, 185, 129, .12);--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: rgba(107, 140, 114, .08);--color-info: #10B981;--color-info-bg: rgba(16, 185, 129, .08);--color-border-subtle: #A8C4AE;--color-notification: #FF6B35;--color-primary: #10B981;--color-primary-light: rgba(16, 185, 129, .1);--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: rgba(16, 185, 129, .05);--color-backdrop: rgba(15, 41, 24, .7);--login-brand-bg: linear-gradient(165deg, #071a0c 0%, #081f0f 50%, #0a2412 100%);--login-brand-glow: rgba(16, 185, 129, .08);--login-brand-text: rgba(255, 255, 255, .88);--login-brand-text-muted: rgba(255, 255, 255, .45);--login-brand-border: rgba(255, 255, 255, .06);--login-brand-footer: rgba(255, 255, 255, .2);--login-accent-color: #10B981}.avatar-upload-container{position:relative}.avatar-image-wrapper{border-radius:50%;overflow:hidden;background-color:var(--color-surface);display:flex;align-items:center;justify-content:center}.avatar-image-wrapper img{width:100%;height:100%;object-fit:cover;display:block}.avatar-fallback-icon{width:100%!important;height:100%!important;color:var(--color-top-menu-text);opacity:.4}.avatar-upload-loading{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;background-color:var(--color-overlay);border-radius:50%;z-index:var(--z-sticky)}.avatar-upload-actions{position:absolute;bottom:-6px;left:50%;transform:translate(-50%);display:flex;gap:var(--spacing-xs);opacity:0;transition:opacity var(--transition-base);z-index:var(--z-fixed);pointer-events:none}.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;padding:0!important;min-width:unset!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{font-size:var(--font-size-sm)!important;color:inherit}.error-boundary{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-xl);font-family:system-ui,-apple-system,sans-serif}.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__actions{display:flex;gap:var(--spacing-md)}.error-boundary__btn-primary{padding:var(--spacing-sm) var(--spacing-lg);background-color:var(--color-primary);color:var(--color-text-inverse);border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--font-size-sm)}.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);max-width:600px;overflow:auto;white-space:pre-wrap}.pricing-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay, 1300);display:flex;align-items:center;justify-content:center;background:var(--color-backdrop);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.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{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-sm)}.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{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg) var(--spacing-md)}.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);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast)}.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{display:inline-block;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)}.pricing-gate-amount{display:flex;align-items:baseline;justify-content:center;gap:var(--spacing-sm)}.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);display:flex;flex-direction:column;gap:var(--spacing-sm)}.pricing-gate-feature{display:flex;align-items:start;gap:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--color-text-primary)}.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);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.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:none;border-radius:var(--radius-md);cursor:pointer;transition:opacity var(--transition-fast)}.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)}
