.pvtUi{color:#2a3f5f;font-family:Verdana;border-collapse:collapse}.pvtUi select{user-select:none;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.pvtUi td.pvtOutput{vertical-align:top}table.pvtTable{font-size:8pt;text-align:left;border-collapse:collapse;margin-top:3px;margin-left:3px;font-family:Verdana}table.pvtTable thead tr th,table.pvtTable tbody tr th{background-color:#ebf0f8;border:1px solid #c8d4e3;font-size:8pt;padding:5px}table.pvtTable .pvtColLabel{text-align:center}table.pvtTable .pvtTotalLabel{text-align:right}table.pvtTable tbody tr td{color:#2a3f5f;padding:5px;background-color:#fff;border:1px solid #c8d4e3;vertical-align:top;text-align:right}.pvtTotal,.pvtGrandTotal{font-weight:700}.pvtRowOrder,.pvtColOrder{cursor:pointer;width:15px;margin-left:5px;display:inline-block;user-select:none;text-decoration:none!important;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.pvtAxisContainer,.pvtVals{border:1px solid #a2b1c6;background:#f2f5fa;padding:5px;min-width:20px;min-height:20px}.pvtRenderers{padding-left:5px;-webkit-user-select:none;user-select:none}.pvtDropdown{display:inline-block;position:relative;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none;margin:3px}.pvtDropdownIcon{float:right;color:#a2b1c6}.pvtDropdownCurrent{text-align:left;border:1px solid #a2b1c6;border-radius:4px;display:inline-block;position:relative;width:210px;box-sizing:border-box;background:#fff}.pvtDropdownCurrentOpen{border-radius:4px 4px 0 0}.pvtDropdownMenu{background:#fff;position:absolute;width:100%;margin-top:-1px;border-radius:0 0 4px 4px;border:1px solid #a2b1c6;border-top:1px solid #dfe8f3;box-sizing:border-box}.pvtDropdownValue{padding:2px 5px;font-size:12px;text-align:left}.pvtDropdownActiveValue{background:#ebf0f8}.pvtVals{text-align:center;white-space:nowrap;vertical-align:top;padding-bottom:12px}.pvtRows{height:35px}.pvtAxisContainer li{padding:8px 6px;list-style-type:none;cursor:move}.pvtAxisContainer li.pvtPlaceholder{-webkit-border-radius:5px;padding:3px 15px;-moz-border-radius:5px;border-radius:5px;border:1px dashed #a2b1c6}.pvtAxisContainer li.pvtPlaceholder span.pvtAttr{display:none}.pvtAxisContainer li span.pvtAttr{-webkit-text-size-adjust:100%;background:#f3f6fa;border:1px solid #c8d4e3;padding:2px 5px;white-space:nowrap;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.pvtTriangle{cursor:pointer;color:#506784}.pvtHorizList li{display:inline-block}.pvtVertList{vertical-align:top}.pvtFilteredAttribute{font-style:italic}.sortable-chosen .pvtFilterBox{display:none!important}.pvtCloseX{position:absolute;right:5px;top:5px;font-size:18px;cursor:pointer;text-decoration:none!important}.pvtDragHandle{position:absolute;left:5px;top:5px;font-size:18px;cursor:move;color:#a2b1c6}.pvtButton{color:#506784;border-radius:5px;padding:3px 6px;background:#f2f5fa;border:1px solid;border-color:#c8d4e3;font-size:14px;margin:3px;transition:.34s all cubic-bezier(.19,1,.22,1);text-decoration:none!important}.pvtButton:hover{background:#e2e8f0;border-color:#a2b1c6}.pvtButton:active{background:#d1dae6}.pvtFilterBox input{border:1px solid #c8d4e3;border-radius:5px;color:#506784;padding:0 3px;font-size:14px}.pvtFilterBox input:focus{border-color:#119dff;outline:none}.pvtFilterBox{z-index:100;width:300px;border:1px solid #506784;background-color:#fff;position:absolute;text-align:center;user-select:none;min-height:100px;-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.pvtFilterBox h4{margin:15px}.pvtFilterBox p{margin:10px auto}.pvtFilterBox button{color:#2a3f5f}.pvtFilterBox input[type=text]{width:230px;color:#2a3f5f;margin-bottom:5px}.pvtCheckContainer{text-align:left;font-size:14px;white-space:nowrap;overflow-y:scroll;width:100%;max-height:30vh;border-top:1px solid #dfe8f3}.pvtCheckContainer p{margin:0 0 1px;padding:3px;cursor:default}.pvtCheckContainer p.selected{background:#ebf0f8}.pvtOnly{display:none;width:35px;float:left;font-size:12px;padding-left:5px;cursor:pointer}.pvtOnlySpacer{display:block;width:35px;float:left}.pvtCheckContainer p:hover .pvtOnly{display:block}.pvtCheckContainer p:hover .pvtOnlySpacer{display:none}.pvtRendererArea{padding:5px}:root{--brand-cyan: #00D1FF;--brand-pink: #F49AC1;--brand-yellow: #FFBC00;--brand-beige: #DCC195;--brand-charcoal: #51504E;--brand-green: #00815D;--brand-admin: #f5bf41;--brand-allocation: #00815D;--brand-allocation-light: #00A076;--brand-allocation-dark: #006b4d;--allocation-high: #22c55e;--allocation-high-bg: rgba(34, 197, 94, .12);--allocation-medium: #eab308;--allocation-medium-bg: rgba(234, 179, 8, .12);--allocation-low: #f97316;--allocation-low-bg: rgba(249, 115, 22, .12);--allocation-minimal: #9ca3af;--allocation-minimal-bg: rgba(156, 163, 175, .1);--color-primary: #00D1FF;--color-primary-hover: #33DAFF;--color-primary-muted: #00A8CC;--color-primary-container: rgba(0, 209, 255, .15);--color-on-primary: #1a1a19;--color-on-primary-container: #00D1FF;--color-secondary: #F49AC1;--color-secondary-hover: #F7B5D1;--color-tertiary: #FFBC00;--color-tertiary-container: rgba(255, 188, 0, .15);--color-success: #00815D;--color-success-hover: #006b4d;--color-success-bg: rgba(0, 129, 93, .15);--color-warning: #FFBC00;--color-warning-hover: #e6a800;--color-warning-bg: rgba(255, 188, 0, .15);--color-error: #f87171;--color-error-hover: #ef4444;--color-error-bg: rgba(248, 113, 113, .1);--color-info: #60a5fa;--color-info-hover: #3b82f6;--color-info-bg: rgba(96, 165, 250, .15);--color-bg-base: #1a1a19;--color-bg-elevated: #242422;--color-bg-surface: #333331;--color-bg-hover: #444442;--color-surface: var(--color-bg-elevated);--color-surface-variant: var(--color-bg-surface);--color-text-primary: #f8fafc;--color-text-secondary: #DCC195;--color-text-muted: #c0c0bc;--color-text-placeholder: #7a7a78;--color-on-surface: var(--color-text-primary);--color-on-surface-variant: var(--color-text-secondary);--color-border: #51504E;--color-border-hover: #6a6967;--color-outline: var(--color-border-hover);--color-outline-variant: var(--color-border);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .5);--shadow-xl: 0 10px 40px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px rgba(0, 209, 255, .25);--shadow-glow-success: 0 0 8px rgba(0, 129, 93, .5);--shadow-focus: 0 0 0 3px rgba(0, 209, 255, .3);--shadow-focus-error: 0 0 0 3px rgba(248, 113, 113, .3);--shadow-focus-success: 0 0 0 3px rgba(0, 129, 93, .3);--shadow-focus-warning: 0 0 0 3px rgba(255, 188, 0, .3);--font-sans: "Lexend", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .625rem;--text-sm: .75rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.75rem;--text-4xl: 2rem;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .35s ease;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 900;--z-modal: 1000;--z-tooltip: 1100;--header-height: 64px;--header-height-mobile: 56px;--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1200px;--container-2xl: 1400px;--container-3xl: 2000px;--container-4xl: 2400px;--container-full: calc(100vw - 2 * var(--space-xl));--modal-sm: 400px;--modal-md: 500px;--modal-lg: 600px;--modal-xl: 700px;--modal-2xl: 800px;--btn-height-sm: 28px;--btn-height-md: 36px;--btn-height-lg: 44px;--input-height: 40px;--table-row-height: 48px;--table-header-height: 44px;--fin-label-col: 220px;--fin-type-col: 30px;--fin-label-total: 250px;--fin-month-col: 75px;--fin-ytd-col: 90px;--fin-total-col: 100px;--spacing-xs: var(--space-xs);--spacing-sm: var(--space-sm);--spacing-md: var(--space-md);--spacing-lg: var(--space-lg);--spacing-xl: var(--space-xl);--primary-color: var(--color-primary);--primary-rgb: 0, 209, 255;--secondary-color: var(--color-secondary);--success-color: var(--color-success);--warning-color: var(--color-warning);--error-color: var(--color-error);--info-color: var(--color-info);--bg-primary: var(--color-bg-base);--bg-secondary: var(--color-bg-surface);--bg-tertiary: var(--color-bg-elevated);--success-bg: var(--color-success-bg);--warning-bg: var(--color-warning-bg);--error-bg: var(--color-error-bg);--info-bg: var(--color-info-bg);--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-muted: var(--color-text-muted);--border-color: var(--color-border)}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{font-size:16px;-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{min-height:100vh;font-family:var(--font-sans);font-weight:400;line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 80%,rgba(0,209,255,.06) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(244,154,193,.06) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(0,129,93,.03) 0%,transparent 70%);pointer-events:none;z-index:-1}#root{min-height:100vh;display:flex;flex-direction:column;isolation:isolate}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}ul[role=list],ol[role=list]{list-style:none}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}a.btn:hover,a.btn:hover:visited{color:inherit}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}:focus:not(:focus-visible){outline:none}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-base)}::-webkit-scrollbar-thumb{background:var(--color-bg-surface);border-radius:5px;border:2px solid var(--color-bg-base)}::-webkit-scrollbar-thumb:hover{background:var(--color-bg-hover)}*{scrollbar-width:thin;scrollbar-color:var(--color-bg-surface) var(--color-bg-base)}::selection{background:var(--color-primary);color:var(--color-on-primary)}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-text-primary)}h1{font-size:var(--text-4xl)}h2{font-size:var(--text-2xl)}h3{font-size:var(--text-xl)}h4{font-size:var(--text-lg)}h5{font-size:var(--text-md)}h6{font-size:var(--text-base)}p{color:var(--color-text-secondary)}small{font-size:var(--text-sm)}strong,b{font-weight:600;color:var(--color-text-primary)}em,i{font-style:italic}code{font-family:var(--font-mono);font-size:.9em;background:var(--color-bg-surface);padding:.2em .4em;border-radius:var(--radius-sm);color:var(--color-primary)}pre{font-family:var(--font-mono);font-size:var(--text-base);line-height:1.5;background:var(--color-bg-surface);padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow-x:auto}pre code{background:none;padding:0;color:var(--color-text-primary)}ul,ol{padding-left:var(--space-lg)}li{line-height:1.6;color:var(--color-text-secondary);margin-bottom:var(--space-sm)}blockquote{border-left:4px solid var(--color-primary);margin:var(--space-md) 0;padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border-radius:0 var(--radius-md) var(--radius-md) 0}blockquote p{margin:0;font-style:italic}hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-xl) 0}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1;padding:var(--space-xl);min-height:calc(100vh - var(--header-height))}.header{position:sticky;top:0;z-index:var(--z-fixed);display:flex;align-items:center;justify-content:space-between;height:var(--header-height);padding:0 var(--space-xl);background:#1a1a19f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.header-left{display:flex;align-items:center;gap:var(--space-md);height:100%}.header-logo-link{display:flex;align-items:center;flex-shrink:0}.header-logo{height:28px;width:auto}.logo{font-size:var(--text-xl);font-weight:700;color:var(--color-primary);letter-spacing:-.02em;margin:0;white-space:nowrap}.logo-link{text-decoration:none;color:inherit;transition:opacity var(--transition-fast)}.logo-link:hover{opacity:.8}.logo-link:hover .logo{color:var(--color-primary)}.main-nav{display:flex;align-items:center;height:100%;gap:var(--space-xs);margin-left:var(--space-lg)}.header-right{display:flex;align-items:center;gap:var(--space-md)}.nav-tab{display:flex;align-items:center;height:100%;padding:0 var(--space-md);color:var(--color-text-secondary);font-weight:500;font-size:var(--text-base);transition:all var(--transition-fast);position:relative;border-bottom:2px solid transparent;text-decoration:none}.nav-tab:hover{color:var(--color-text-primary);background:var(--color-bg-surface)}.nav-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;justify-content:center;padding:0;background:transparent;border:none;cursor:pointer;border-radius:var(--radius-full);transition:transform var(--transition-fast)}.user-menu-trigger:hover{transform:scale(1.05)}.user-menu-dropdown{position:absolute;top:calc(100% + var(--space-xs));right:0;min-width:240px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-sm);animation:dropdownFadeIn .15s ease;z-index:var(--z-dropdown)}.user-menu-header{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm)}.user-menu-info{flex:1;min-width:0}.user-menu-name{font-weight:600;font-size:var(--text-base);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-email{font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-menu-divider{height:1px;background:var(--color-border);margin:var(--space-xs) 0}.user-menu-item{display:block;width:100%;padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-base);font-family:inherit;text-align:left;cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.user-menu-item:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.user-menu-item--danger:hover{background:var(--color-error-bg);color:var(--color-error)}.page-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:var(--space-xl);gap:var(--space-lg)}.page-title{font-size:var(--text-3xl);font-weight:700;margin:0}.page-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-xs)}.page-description{color:var(--color-text-muted);font-size:var(--text-base);max-width:600px}.page-actions{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center}.page-actions-group{display:flex;gap:var(--space-sm);align-items:center}.page-actions-separator{width:1px;height:24px;background:var(--color-border);margin:0 var(--space-xs)}.container{width:100%;max-width:var(--container-xl);margin:0 auto;padding:0 var(--space-lg)}.container--sm{max-width:var(--container-sm)}.container--md{max-width:var(--container-md)}.container--lg{max-width:var(--container-lg)}.container--xl{max-width:var(--container-xl)}.container--2xl{max-width:var(--container-2xl)}.container--3xl{max-width:var(--container-3xl)}.container--4xl{max-width:var(--container-4xl)}.container--full{max-width:100%}.container--data-heavy{max-width:min(var(--container-4xl),calc(100vw - 2 * var(--space-xl)))}.grid{display:grid;gap:var(--space-lg)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.grid--auto{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.tabs{display:flex;border-bottom:1px solid var(--color-border);gap:var(--space-xs);margin-bottom:var(--space-lg)}.tab{padding:var(--space-sm) var(--space-md);background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-secondary);font-weight:500;font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.tab:hover{color:var(--color-text-primary);background:var(--color-bg-surface)}.tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-content{padding:var(--space-lg) 0}.layout-with-sidebar{display:grid;grid-template-columns:280px 1fr;gap:var(--space-xl)}.sidebar{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);height:fit-content;position:sticky;top:calc(var(--header-height) + var(--space-lg))}.sidebar__title{font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);padding:var(--space-sm);margin-bottom:var(--space-sm)}.sidebar__item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast)}.sidebar__item:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.sidebar__item.active{background:var(--color-primary-container);color:var(--color-primary)}.version{font-size:var(--text-sm);color:var(--color-text-muted)}.organization-select{position:relative}.organization-select__button{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);min-width:200px}.organization-select__button:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.organization-select__name{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.organization-select__dropdown{position:absolute;top:calc(100% + var(--space-xs));left:0;right:0;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown);animation:dropdownFadeIn .15s ease;max-height:300px;overflow-y:auto}.organization-select__option{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:all var(--transition-fast)}.organization-select__option:hover{background:var(--color-bg-surface)}.organization-select__option.selected{background:var(--color-primary-container);color:var(--color-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);height:var(--btn-height-md);font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;line-height:1;border-radius:var(--radius-md);border:none;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled,.btn.loading{opacity:.6;cursor:not-allowed;pointer-events:none}.btn:not(:disabled):not(.loading):hover{transform:translateY(-1px)}.btn:not(:disabled):not(.loading):active{transform:translateY(0)}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);box-shadow:0 2px 8px #00d1ff33}.btn-primary:hover:not(:disabled):not(.loading){background:var(--color-primary-hover);color:var(--color-on-primary);box-shadow:0 4px 12px #00d1ff59}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled):not(.loading){background:var(--color-bg-hover);border-color:var(--color-border-hover)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled):not(.loading){background:var(--color-bg-surface);color:var(--color-text-primary)}.btn-danger{background:var(--color-error);color:#fff;box-shadow:0 2px 8px #f8717133}.btn-danger:hover:not(:disabled):not(.loading){background:var(--color-error-hover);box-shadow:0 4px 12px #f8717159}.btn-success{background:var(--color-success);color:#fff;box-shadow:0 2px 8px #00815d33}.btn-success:hover:not(:disabled):not(.loading){background:var(--color-success-hover);color:#fff;box-shadow:0 4px 12px #00815d59}.btn-warning{background:var(--color-warning);color:var(--color-bg-base);box-shadow:0 2px 8px #ffbc0033}.btn-warning:hover:not(:disabled):not(.loading){color:var(--color-bg-base);background:var(--color-warning-hover);box-shadow:0 4px 12px #ffbc0059}.btn-sm{padding:var(--space-xs) var(--space-sm);height:var(--btn-height-sm);font-size:var(--text-sm)}.btn-lg{padding:var(--space-md) var(--space-lg);height:var(--btn-height-lg);font-size:var(--text-md)}.btn-block{width:100%}.btn .btn-spinner{width:14px;height:14px;border:2px solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);animation:spin .6s linear infinite;display:inline-block;margin-right:var(--space-xs)}.btn.btn-loading{opacity:.8;cursor:wait}.card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-normal)}.card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md)}.card--interactive{cursor:pointer}.card--interactive:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card--highlighted{position:relative;overflow:hidden}.card--highlighted:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));opacity:0;transition:opacity var(--transition-normal)}.card--highlighted:hover:before{opacity:1}.card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.card__title{font-size:var(--text-lg);font-weight:600;margin:0}.card__content{display:flex;flex-direction:column;gap:var(--space-md)}.badge{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);font-weight:500;border-radius:var(--radius-sm)}.badge-primary{background:var(--color-primary-container);color:var(--color-primary);border:1px solid rgba(0,209,255,.3)}.badge-secondary{background:#f49ac126;color:var(--color-secondary);border:1px solid rgba(244,154,193,.3)}.badge-success{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(0,129,93,.3)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border:1px solid rgba(255,188,0,.3)}.badge-error{background:var(--color-error-bg);color:var(--color-error);border:1px solid rgba(248,113,113,.3)}.badge__dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.table-container{overflow-x:auto;border-radius:var(--radius-lg);border:1px solid var(--color-border)}table{width:100%;border-collapse:collapse;font-size:var(--text-base)}thead{background:var(--color-bg-surface);position:sticky;top:0;z-index:var(--z-sticky)}th{text-align:left;padding:var(--space-sm) var(--space-md);font-weight:600;color:var(--color-text-secondary);border:1px solid var(--color-border);border-bottom:2px solid var(--color-border);white-space:nowrap}td{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border)}tbody tr:nth-child(2n){background:#ffffff05}tbody tr:hover{background:#ffffff0d}tbody tr.selected{background:var(--color-primary-container);border-left:3px solid var(--color-primary)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-lg);animation:fadeIn .2s ease}.modal{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:var(--modal-md);max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;box-shadow:var(--shadow-xl)}.modal--sm{max-width:var(--modal-sm)}.modal--lg{max-width:var(--modal-lg)}.modal--xl{max-width:var(--modal-xl)}.modal__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.modal__header h2{font-size:var(--text-lg);font-weight:600;margin:0}.modal__content{padding:var(--space-lg)}.modal__footer{display:flex;gap:var(--space-sm);justify-content:flex-end;padding:var(--space-lg);border-top:1px solid var(--color-border)}.close-btn{width:32px;height:32px;border:none;background:transparent;font-size:1.5rem;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.close-btn:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.toast-container{position:fixed;top:var(--space-lg);right:var(--space-lg);z-index:var(--z-tooltip);display:flex;flex-direction:column;gap:var(--space-sm);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:300px;max-width:400px;pointer-events:auto;animation:slideDown .3s ease}.toast--success{border-left:4px solid var(--color-success)}.toast--error{border-left:4px solid var(--color-error)}.toast--warning{border-left:4px solid var(--color-warning)}.toast--info{border-left:4px solid var(--color-primary)}.toast__icon{font-size:1.25rem;flex-shrink:0}.toast__content{flex:1}.toast__title{font-weight:600;font-size:var(--text-base);margin-bottom:var(--space-xs)}.toast__message{font-size:var(--text-sm);color:var(--color-text-secondary)}.toast__close{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.toast__close:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.tooltip{position:relative;display:inline-block}.tooltip__content{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--transition-fast);z-index:var(--z-tooltip);box-shadow:var(--shadow-md)}.tooltip__content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:var(--color-bg-elevated)}.tooltip:hover .tooltip__content{opacity:1}.has-tooltip{position:relative}.has-tooltip>.tooltip{display:none;position:absolute;left:0;top:100%;z-index:var(--z-tooltip);min-width:200px;max-width:300px;padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);font-size:var(--text-sm)}.has-tooltip:hover>.tooltip{display:block}.has-tooltip>.tooltip .tooltip-title{display:block;font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-xs);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px}.has-tooltip>.tooltip .tooltip-item{padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border);color:var(--color-text-primary)}.has-tooltip>.tooltip .tooltip-item:last-child{border-bottom:none}.tooltip-portal{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);box-shadow:var(--shadow-lg);min-width:200px;max-width:350px;font-size:var(--text-sm)}.tooltip-portal .tooltip-title{display:block;font-weight:600;color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.tooltip-portal .tooltip-item{display:block;padding:var(--space-xs) 0;color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm)}.tooltip-portal .tooltip-item:last-child{padding-bottom:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center}.empty-state__icon{font-size:4rem;margin-bottom:var(--space-md);opacity:.5}.empty-state__title{font-size:var(--text-xl);font-weight:600;margin-bottom:var(--space-sm);color:var(--color-text-primary)}.empty-state__description{color:var(--color-text-secondary);margin-bottom:var(--space-lg);max-width:400px}.empty-state__actions{display:flex;gap:var(--space-md);justify-content:center}.avatar{border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden}.avatar--sm{width:24px;height:24px;font-size:var(--text-xs)}.avatar--md{width:32px;height:32px;font-size:var(--text-sm)}.avatar--lg{width:40px;height:40px;font-size:var(--text-base)}.avatar--xl{width:64px;height:64px;font-size:var(--text-xl)}.avatar__image{width:100%;height:100%;object-fit:cover;background:var(--color-bg-surface)}.avatar__initials{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;font-weight:600;text-transform:uppercase;-webkit-user-select:none;user-select:none}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-text-muted);transition:all var(--transition-fast)}.status-dot--active{background:var(--color-success);box-shadow:var(--shadow-glow-success)}.status-dot--active:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:var(--radius-full);border:1px solid var(--color-success);animation:pulseDot 2s ease-in-out infinite}.drop-zone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-2xl);text-align:center;cursor:pointer;transition:all var(--transition-fast)}.drop-zone:hover{border-color:var(--color-primary);background:#00d1ff0d}.drop-zone--active{border-color:var(--color-success);background:var(--color-success-bg)}.drop-zone__icon{font-size:2.5rem;display:block;margin-bottom:var(--space-md)}.drop-zone__text{color:var(--color-text-secondary);margin:var(--space-sm) 0}.drop-zone__hint{font-size:var(--text-sm);color:var(--color-text-muted)}.import-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-lg);animation:fadeIn .2s ease}.import-dialog{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:slideUp .3s ease;box-shadow:var(--shadow-xl)}.import-dialog-wide{max-width:700px}.import-dialog-mapping{max-width:900px}.import-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.import-dialog-header h2{font-size:var(--text-lg);font-weight:600;margin:0}.import-dialog-content{padding:var(--space-lg)}.import-dialog-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;padding:var(--space-lg);border-top:1px solid var(--color-border)}.import-warning{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--color-warning-bg);border:1px solid rgba(255,188,0,.3);border-radius:var(--radius-md);margin-bottom:var(--space-md);color:var(--color-warning)}.import-error{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--color-error-bg);border:1px solid rgba(248,113,113,.3);border-radius:var(--radius-md);margin-top:var(--space-md);color:var(--color-error)}.import-result{padding:var(--space-lg);background:var(--color-bg-surface);border-radius:var(--radius-md);margin-top:var(--space-md)}.result-success{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-success);font-weight:600;margin-bottom:var(--space-md)}.success-icon{font-size:1.5rem}.result-count{color:var(--color-text-secondary);margin-bottom:var(--space-md)}.result-warnings{background:var(--color-warning-bg);border-radius:var(--radius-sm);padding:var(--space-md)}.warnings-title{font-weight:600;margin-bottom:var(--space-sm);color:var(--color-warning)}.result-warnings ul{margin:0;padding-left:var(--space-lg);font-size:var(--text-sm)}.import-dialog .drop-zone{margin-bottom:var(--space-md)}.import-dialog .drop-zone.has-file{background:var(--color-success-bg);border-color:var(--color-success)}.file-info{display:flex;align-items:center;gap:var(--space-sm)}.file-icon{font-size:2rem}.file-name{font-weight:500}.file-size{color:var(--color-text-muted);font-size:var(--text-sm)}.upload-icon{font-size:3rem;display:block;margin-bottom:var(--space-md)}.supported-formats{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-sm)}.expected-columns{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-xs)}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-2xl)}.loading-spinner span{font-size:2rem;animation:spin 1s linear infinite}.mapping-step{display:flex;flex-direction:column;gap:var(--space-lg)}.mapping-info{background:var(--color-bg-surface);padding:var(--space-md);border-radius:var(--radius-md)}.mapping-info p{margin:var(--space-xs) 0}.mapping-confidence{margin-top:var(--space-sm)!important}.confidence-badge{display:inline-block;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500}.confidence-high{background:var(--color-success-bg);color:var(--color-success)}.confidence-medium{background:var(--color-warning-bg);color:var(--color-warning)}.preview-section h4,.mapping-section h4,.mapping-section h5{margin:0 0 var(--space-sm) 0;font-size:var(--text-base);font-weight:600}.preview-table-container{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:200px}.preview-table{font-size:var(--text-sm);white-space:nowrap}.preview-table th{background:var(--color-bg-surface);font-size:var(--text-xs);padding:var(--space-xs) var(--space-sm)}.preview-table td{padding:var(--space-xs) var(--space-sm);max-width:150px;overflow:hidden;text-overflow:ellipsis}.mapping-section{background:var(--color-bg-surface);padding:var(--space-md);border-radius:var(--radius-md)}.mapping-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-sm)}.mapping-row label{flex:0 0 100px;font-size:var(--text-sm);color:var(--color-text-secondary)}.mapping-row select{flex:1;max-width:200px}.mapping-row-account{padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-md)}.mapping-months{margin-top:var(--space-md)}.mapping-months-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--space-sm) var(--space-lg)}.mapping-select-empty{border-color:var(--color-text-muted)!important;opacity:.7}.mapping-summary{display:flex;gap:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);margin-top:var(--space-md);font-size:var(--text-sm)}.summary-ok{color:var(--color-success)}.summary-missing{color:var(--color-warning)}.summary-months{color:var(--color-text-secondary)}.import-validation-warning{display:flex;flex-direction:column;gap:var(--space-md)}.warning-header{display:flex;align-items:center;gap:var(--space-md)}.warning-icon-large{font-size:2rem}.validation-summary{color:var(--color-text-secondary)}.create-accounts-section{background:var(--color-bg-surface);padding:var(--space-md);border-radius:var(--radius-md)}.create-accounts-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-md)}.accounts-to-create-list{display:flex;flex-direction:column;gap:var(--space-sm)}.accounts-list-header{display:grid;grid-template-columns:100px 150px 1fr;gap:var(--space-sm);font-weight:600;font-size:var(--text-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--color-border)}.account-to-create-row{display:grid;grid-template-columns:100px 150px 1fr;gap:var(--space-sm);align-items:center}.account-number-display{font-family:var(--font-mono);font-weight:500}.category-select,.account-name-input{width:100%}.no-categories-warning,.create-accounts-error{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-warning-bg);border-radius:var(--radius-sm);color:var(--color-warning)}.warning-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;padding-top:var(--space-md);border-top:1px solid var(--color-border)}.action-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap}.action-bar-left{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.action-bar-right{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-left:auto}.action-bar-separator{width:1px;height:28px;background:var(--color-border);flex-shrink:0}.action-group{display:flex;align-items:center;gap:var(--space-sm)}.action-group-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-right:var(--space-xs)}.action-group-buttons{display:flex;align-items:center;gap:var(--space-xs)}@media(max-width:640px){.action-bar{flex-direction:column;align-items:stretch}.action-bar-left,.action-bar-right{justify-content:center}.action-bar-right{margin-left:0}.action-bar-separator,.action-group-label{display:none}}.profile-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;display:flex;align-items:flex-start;justify-content:center;z-index:9999;padding:var(--space-lg);padding-top:120px;overflow-y:auto}.profile-dialog{position:relative;z-index:10000;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:none;overflow:visible;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;margin-bottom:var(--space-lg)}.profile-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border)}.profile-dialog-header h2{font-size:var(--text-lg);font-weight:600;margin:0}.profile-dialog-content{flex:1;overflow-y:auto;padding:var(--space-lg);display:flex;flex-direction:column;gap:var(--space-lg)}.profile-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-top:1px solid var(--color-border);background:var(--color-bg-surface)}.profile-section{display:flex;flex-direction:column;gap:var(--space-sm)}.profile-label{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.profile-input{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--text-base);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary)}.profile-input:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.profile-input-disabled{opacity:.6;cursor:not-allowed}.profile-avatar-section{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.profile-avatar-preview{flex-shrink:0}.profile-avatar-actions{display:flex;flex-direction:column;gap:var(--space-sm);align-items:flex-start}.profile-file-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.profile-avatar-actions label[for=avatar-upload]{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:var(--space-xs) var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;color:var(--color-text-primary);transition:all var(--transition-fast)}.profile-avatar-actions label[for=avatar-upload]:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.profile-uploading{font-size:var(--text-sm);color:var(--color-primary)}.profile-language-options{display:flex;gap:var(--space-sm)}.profile-language-option{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-bg-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--color-text-primary)}.profile-language-option:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.profile-language-option.active{border-color:var(--color-primary);background:var(--color-primary-container)}.language-flag{font-size:1.5rem}.language-name{font-size:var(--text-base);font-weight:500}.profile-error{padding:var(--space-sm) var(--space-md);background:var(--color-error-bg);border:1px solid rgba(248,113,113,.3);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--text-sm)}.impersonation-banner{position:fixed;top:0;left:0;right:0;z-index:9999;background:linear-gradient(135deg,#f97316,#ea580c);color:#fff;padding:var(--space-sm) var(--space-md);box-shadow:0 2px 8px #f9731666}.impersonation-banner-content{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:var(--space-md);flex-wrap:wrap}.impersonation-banner-icon{font-size:1.25rem}.impersonation-banner-text{font-weight:500;font-size:var(--text-base)}.impersonation-banner-roles{font-weight:400;opacity:.9;margin-left:var(--space-xs)}.btn-stop-test{background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.btn-stop-test:hover:not(:disabled){background:#ffffff4d;border-color:#ffffff80}.btn-stop-test:disabled{opacity:.6;cursor:not-allowed}.layout:has(.impersonation-banner) .header{top:48px}.layout:has(.impersonation-banner) .main-content{padding-top:calc(var(--header-height) + 48px + var(--space-lg))}.version-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.version-dialog{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-width:500px;width:90%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.version-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color)}.version-dialog-header h2{margin:0;font-size:var(--text-lg);font-weight:600}.version-dialog-content{padding:var(--space-lg);overflow-y:auto;flex:1}.version-section{margin-bottom:var(--space-md)}.version-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-xs)}.version-input{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--bg-secondary)}.version-input:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.version-textarea{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--border-color);border-radius:var(--radius-md);font-size:var(--text-base);background:var(--bg-secondary);resize:vertical;min-height:100px}.version-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.version-error{background:var(--danger-bg);color:var(--danger-color);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:var(--text-sm)}.version-dialog-actions{display:flex;gap:var(--space-md);justify-content:flex-end;padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-color)}.version-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:1000}.version-drawer{position:fixed;top:0;right:0;bottom:0;width:420px;max-width:90%;background:var(--bg-primary);box-shadow:var(--shadow-xl);display:flex;flex-direction:column;animation:slideInRight .2s ease-out}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.version-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color)}.version-drawer-header h2{margin:0;font-size:var(--text-lg);font-weight:600}.version-drawer-content{flex:1;overflow-y:auto;padding:var(--space-md)}.version-loading,.version-empty{text-align:center;padding:var(--space-xl);color:var(--text-tertiary)}.version-compare-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.version-list{display:flex;flex-direction:column;gap:var(--space-sm)}.version-item{display:flex;align-items:flex-start;gap:var(--space-md);padding:var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);transition:all var(--transition-fast)}.version-item.selected{border-color:var(--primary-color);background:rgba(var(--primary-rgb),.05)}.version-item-checkbox{padding-top:var(--space-xs)}.version-item-content{flex:1;cursor:pointer}.version-item-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:var(--space-xs)}.version-item-name{font-weight:600;color:var(--text-primary)}.version-item-date{font-size:var(--text-sm);color:var(--text-tertiary)}.version-item-comments{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-xs)}.version-item-meta{font-size:var(--text-xs);color:var(--text-tertiary)}.version-item-actions{display:flex;flex-direction:column;gap:var(--space-xs)}.version-confirm{display:flex;flex-direction:column;gap:var(--space-xs);font-size:var(--text-xs);text-align:center}.version-compare-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1001}.version-compare-dialog{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:95%;max-width:1200px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column}.version-compare-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color)}.version-compare-header h2{margin:0;font-size:var(--text-lg);font-weight:600}.version-compare-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:var(--space-md)}.version-compare-versions{display:flex;align-items:center;gap:var(--space-md)}.version-compare-v1,.version-compare-v2{font-size:var(--text-sm)}.version-compare-vs{color:var(--text-tertiary);font-style:italic}.version-compare-controls{display:flex;align-items:center;gap:var(--space-lg)}.version-compare-toggle{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-sm);cursor:pointer}.version-compare-view-toggle{display:flex;gap:var(--space-xs)}.version-compare-summary{display:flex;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color)}.summary-item{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-md);min-width:120px}.summary-item.positive .summary-value{color:var(--success-color)}.summary-item.negative .summary-value{color:var(--danger-color)}.summary-label{font-size:var(--text-xs);color:var(--text-tertiary)}.summary-value{font-size:var(--text-lg);font-weight:600}.version-compare-content{flex:1;overflow:auto;padding:var(--space-md) var(--space-lg)}.version-compare-empty,.version-compare-loading{text-align:center;padding:var(--space-xl);color:var(--text-tertiary)}.version-compare-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.version-compare-table th,.version-compare-table td{padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--border-color)}.version-compare-table th{text-align:left;font-weight:600;background:var(--bg-secondary);position:sticky;top:0;z-index:1}.version-compare-table .text-right{text-align:right}.version-compare-table .text-center{text-align:center}.version-compare-table .text-muted{color:var(--text-tertiary)}.version-compare-table tr.row-positive td:last-child,.version-compare-table tr.row-positive td:nth-last-child(2){background:rgba(var(--success-rgb),.05)}.version-compare-table tr.row-negative td:last-child,.version-compare-table tr.row-negative td:nth-last-child(2){background:rgba(var(--danger-rgb),.05)}.version-compare-table .positive{color:var(--success-color)}.version-compare-table .negative{color:var(--danger-color)}.version-compare-table .month-header{border-left:1px solid var(--border-color)}.version-compare-table .sub-header th{font-size:var(--text-xs);font-weight:500;padding:var(--space-xs) var(--space-sm)}.version-compare-side-by-side{overflow-x:auto}.version-compare-actions{display:flex;gap:var(--space-md);justify-content:flex-end;padding:var(--space-md) var(--space-lg);border-top:1px solid var(--border-color)}.version-indicator{display:flex;align-items:center;gap:var(--space-sm)}.version-indicator-btn{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-secondary)}.version-indicator-btn:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--primary-color);color:var(--primary-color)}.version-indicator-btn:disabled{opacity:.6;cursor:not-allowed}.version-indicator-label{font-size:var(--text-sm);font-weight:500}.version-save-btn{display:flex;align-items:center;gap:var(--space-xs)}.version-save-btn svg{flex-shrink:0}.btn-xs{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs)}.rich-text-editor{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--white);overflow:hidden}.rich-text-editor.disabled{opacity:.6;pointer-events:none}.rich-text-toolbar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--bg-subtle);border-bottom:1px solid var(--border-light)}.toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.toolbar-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar-btn.active{background:var(--primary-light);color:var(--primary)}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-divider{width:1px;height:20px;background:var(--border-light);margin:0 var(--space-xs)}.rich-text-content{min-height:100px;max-height:200px;overflow-y:auto}.rich-text-content .tiptap{padding:var(--space-sm);outline:none;min-height:100px}.rich-text-content .tiptap p{margin:0 0 var(--space-sm) 0}.rich-text-content .tiptap p:last-child{margin-bottom:0}.rich-text-content .tiptap ul,.rich-text-content .tiptap ol{margin:0 0 var(--space-sm) 0;padding-left:var(--space-lg)}.rich-text-content .tiptap li{margin-bottom:var(--space-xs)}.rich-text-content .tiptap li:last-child{margin-bottom:0}.rich-text-content .tiptap strong{font-weight:600}.rich-text-content .tiptap em{font-style:italic}.rich-text-content .tiptap s{text-decoration:line-through}.rich-text-content .tiptap p.is-editor-empty:first-child:before{color:var(--text-muted);content:attr(data-placeholder);float:left;height:0;pointer-events:none}.version-comments-html{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5}.version-comments-html p{margin:0 0 var(--space-xs) 0}.version-comments-html p:last-child{margin-bottom:0}.version-comments-html ul,.version-comments-html ol{margin:0 0 var(--space-xs) 0;padding-left:var(--space-md)}.version-comments-html li{margin-bottom:2px}.version-comments-html strong{font-weight:600}.version-comments-html em{font-style:italic}.version-selector{display:flex;align-items:center;gap:var(--space-xs)}.version-selector label{font-size:var(--text-sm);font-weight:500;white-space:nowrap}.version-selector .form-select{min-width:200px}.form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-row{display:flex;gap:var(--space-md)}.form-row .form-group{flex:1}.form-inline{display:flex;align-items:flex-end;gap:var(--space-sm)}.form-actions{display:flex;gap:var(--space-sm);justify-content:flex-end;padding-top:var(--space-md)}label,.form-label{font-weight:500;font-size:var(--text-base);color:var(--color-text-secondary)}.form-label--required:after{content:"*";color:var(--color-error);margin-left:var(--space-xs)}input[type=text],input[type=email],input[type=password],input[type=number],input[type=search],input[type=tel],input[type=url],input[type=date],input[type=time],input[type=datetime-local],textarea{width:100%;height:var(--input-height);padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);transition:all var(--transition-fast)}input:hover:not(:disabled):not(:focus),textarea:hover:not(:disabled):not(:focus){border-color:var(--color-border-hover)}input:focus,textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}input:disabled,textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-base)}input::placeholder,textarea::placeholder{color:var(--color-text-placeholder)}textarea{min-height:100px;height:auto;resize:vertical}input[type=date]{cursor:pointer;color-scheme:dark}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert(1);width:20px;height:20px;opacity:.9;transition:opacity var(--transition-fast)}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-group{position:relative}.input-group__icon{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.input-group input{padding-left:calc(var(--space-md) * 2 + 1em)}.input-group__icon--right{left:auto;right:var(--space-md)}.input-group input.has-icon-right{padding-right:calc(var(--space-md) * 2 + 1em)}select{width:100%;height:var(--input-height);padding:var(--space-sm) var(--space-md);padding-right:calc(var(--space-md) * 2);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%238a8986' d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;transition:all var(--transition-fast)}select:hover:not(:disabled){border-color:var(--color-border-hover)}select:focus{outline:none;border-color:var(--color-primary);box-shadow:var(--shadow-focus)}select:disabled{opacity:.6;cursor:not-allowed}.checkbox-group,.radio-group{display:flex;flex-direction:column;gap:var(--space-sm)}.checkbox,.radio{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none}input[type=checkbox],input[type=radio]{width:18px;height:18px;cursor:pointer;accent-color:var(--color-primary);margin:0}input[type=checkbox]:disabled,input[type=radio]:disabled{opacity:.5;cursor:not-allowed}.checkbox__label,.radio__label{font-size:var(--text-base);color:var(--color-text-secondary)}.toggle{position:relative;display:inline-flex;align-items:center;gap:var(--space-sm);cursor:pointer}.toggle__input{position:absolute;opacity:0;width:0;height:0}.toggle__slider{position:relative;width:48px;height:24px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);transition:all var(--transition-fast)}.toggle__slider:before{content:"";position:absolute;width:18px;height:18px;left:2px;top:2px;background:var(--color-text-muted);border-radius:var(--radius-full);transition:all var(--transition-fast)}.toggle__input:checked+.toggle__slider{background:var(--color-primary);border-color:var(--color-primary)}.toggle__input:checked+.toggle__slider:before{transform:translate(24px);background:#fff}.toggle__input:focus-visible+.toggle__slider{box-shadow:var(--shadow-focus)}.search-input{position:relative}.search-input input{padding-left:calc(var(--space-md) + 1.5em)}.search-input__icon{position:absolute;left:var(--space-md);top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.search-input__clear{position:absolute;right:var(--space-sm);top:50%;transform:translateY(-50%);background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.search-input__clear:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.form-group--error input,.form-group--error textarea,.form-group--error select,input.error,textarea.error,select.error{border-color:var(--color-error)}.form-group--error input:focus,.form-group--error textarea:focus,.form-group--error select:focus,input.error:focus,textarea.error:focus,select.error:focus{box-shadow:var(--shadow-focus-error)}.form-group--success input,.form-group--success textarea,.form-group--success select,input.success,textarea.success,select.success{border-color:var(--color-success)}.form-error,.error-message{color:var(--color-error);font-size:var(--text-sm);display:flex;align-items:center;gap:var(--space-xs);margin-top:var(--space-xs)}.form-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-xs)}.file-input{display:none}.file-input-label{display:inline-flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.file-input-label:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}input[type=color]{width:40px;height:40px;padding:2px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer}input[type=color]::-webkit-color-swatch-wrapper{padding:0}input[type=color]::-webkit-color-swatch{border:none;border-radius:var(--radius-sm)}.MuiInputLabel-outlined.MuiInputLabel-shrink,.MuiFormControl-root .MuiInputLabel-root.Mui-focused,.MuiFormControl-root .MuiInputLabel-root.MuiFormLabel-filled{background:var(--color-bg-base);padding:0 var(--space-xs)}.MuiOutlinedInput-root{font-family:var(--font-sans);font-size:var(--text-base);background:var(--color-bg-surface)}.MuiOutlinedInput-root .MuiOutlinedInput-notchedOutline{border-color:var(--color-border)}.MuiOutlinedInput-root:hover .MuiOutlinedInput-notchedOutline{border-color:var(--color-border-hover)}.MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline{border-color:var(--color-primary)}.MuiInputLabel-root{font-family:var(--font-sans);color:var(--color-text-secondary)}.MuiInputLabel-root.Mui-focused{color:var(--color-primary)}.form-grid .MuiFormControl-root{margin-bottom:0}.login-page{display:flex;justify-content:center;align-items:center;min-height:100vh;padding:var(--space-lg)}.login-container{width:100%;max-width:var(--modal-sm);background:var(--color-bg-elevated);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-lg)}.login-container h1{text-align:center;margin-bottom:var(--space-sm);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.login-subtitle{text-align:center;color:var(--color-text-secondary);margin-bottom:var(--space-xl)}.login-form{display:flex;flex-direction:column;gap:var(--space-md)}.login-note{margin-top:var(--space-lg);text-align:center;font-size:var(--text-sm);color:var(--color-text-secondary)}.dashboard-welcome{margin-bottom:var(--space-xl)}.dashboard-welcome h2{font-size:var(--text-2xl);margin-bottom:var(--space-sm)}.dashboard-grid{display:grid;gap:var(--space-lg);grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.stat-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);display:flex;align-items:center;gap:var(--space-md);transition:all var(--transition-normal)}.stat-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{font-size:2rem;width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--color-bg-surface);border-radius:var(--radius-md)}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:var(--text-3xl);font-weight:700;color:var(--color-text-primary);font-family:var(--font-mono)}.stat-label{font-size:var(--text-base);color:var(--color-text-secondary)}.widget-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);transition:all var(--transition-normal);position:relative;overflow:hidden}.widget-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary),var(--color-secondary));opacity:0;transition:opacity var(--transition-normal)}.widget-card:hover{border-color:var(--color-border-hover);box-shadow:var(--shadow-md);transform:translateY(-2px)}.widget-card:hover:before{opacity:1}.widget-header{margin-bottom:var(--space-md)}.widget-title{font-size:var(--text-md);font-weight:600;margin:0}.widget-content{display:flex;flex-direction:column;gap:var(--space-md)}.widget-metric{display:flex;flex-direction:column;gap:var(--space-xs)}.widget-label{font-size:var(--text-base);color:var(--color-text-secondary);font-weight:500}.widget-value{font-size:var(--text-2xl);font-weight:700;font-family:var(--font-mono)}.widget-value.positive{color:var(--color-success)}.widget-value.negative{color:var(--color-error)}.dashboard-results-card{grid-column:1 / -1;max-width:600px}.dashboard-results-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.dashboard-results-table th,.dashboard-results-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.dashboard-results-table th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-surface)}.dashboard-results-table .col-organization{width:40%}.dashboard-results-table .col-number{width:20%;text-align:right;font-family:var(--font-mono)}.dashboard-results-table .row-company{font-weight:600}.dashboard-results-table .row-business-unit{font-weight:400}.dashboard-results-table .business-unit-indent{color:var(--color-text-secondary);padding-left:var(--space-md)}.dashboard-results-table .company-name{color:var(--color-text-primary)}.dashboard-results-table .positive{color:var(--color-success)}.dashboard-results-table .negative{color:#ff6b6b}.dashboard-results-table tbody tr:hover{background:var(--color-bg-surface)}.dashboard-layout{display:grid;grid-template-columns:1fr auto;gap:var(--space-xl);align-items:start}.dashboard-main{min-width:0}.dashboard-sidebar{display:flex;flex-direction:column;gap:var(--space-lg);min-width:550px}.dashboard-liquidity-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.dashboard-liquidity-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface)}.dashboard-liquidity-card .card-title{font-size:var(--text-base);font-weight:600;margin:0}.dashboard-liquidity-card .unit-label{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:500}.dashboard-liquidity-card .loading-state,.dashboard-liquidity-card .empty-state{padding:var(--space-xl);text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm)}.dashboard-liquidity-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.dashboard-liquidity-table th,.dashboard-liquidity-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.dashboard-liquidity-table th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-surface)}.dashboard-liquidity-table .col-balance{text-align:right;font-family:var(--font-mono)}.dashboard-liquidity-table .col-balance.negative{color:#ff6b6b}.dashboard-liquidity-table tbody tr:hover{background:var(--color-bg-surface)}.dashboard-overdue-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.dashboard-overdue-card .card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);flex-wrap:wrap;gap:var(--space-sm)}.dashboard-overdue-card .card-title{font-size:var(--text-base);font-weight:600;margin:0}.dashboard-overdue-card .overdue-summary{display:flex;align-items:center;gap:var(--space-md);font-size:var(--text-sm)}.dashboard-overdue-card .overdue-count{color:var(--color-error);font-weight:500;background:#ff6b6b26;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm)}.dashboard-overdue-card .overdue-total{font-family:var(--font-mono);font-weight:600;color:var(--color-text-primary)}.dashboard-overdue-card .loading-state,.dashboard-overdue-card .empty-state{padding:var(--space-xl);text-align:center;color:var(--color-text-secondary);font-size:var(--text-sm)}.dashboard-overdue-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.dashboard-overdue-table th,.dashboard-overdue-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.dashboard-overdue-table th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-surface)}.dashboard-overdue-table .col-amount{text-align:right;font-family:var(--font-mono)}.dashboard-overdue-table tbody tr:hover{background:var(--color-bg-surface)}.dashboard-overdue-table .invoice-cell{display:flex;align-items:center;gap:var(--space-xs)}.dashboard-overdue-table .status-icon{flex-shrink:0}.dashboard-overdue-table .status-icon.warning{color:var(--color-warning)}.dashboard-overdue-table .status-icon.info{color:var(--color-info)}.dashboard-overdue-table tfoot .total-row{font-weight:600;background:var(--color-bg-surface)}.dashboard-overdue-table tfoot .total-row td{border-bottom:none}@media(max-width:1200px){.dashboard-layout{grid-template-columns:1fr}.dashboard-sidebar{min-width:unset;width:100%}}.years-list{display:flex;flex-direction:column;gap:var(--space-sm)}.year-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);transition:all var(--transition-fast)}.year-item:hover{background:var(--color-bg-hover)}.year-info{display:flex;flex-direction:column;gap:var(--space-xs);flex:1}.year-value{font-size:var(--text-lg);font-weight:600;font-family:var(--font-mono)}.year-company-info{display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.year-company-info-clickable{text-decoration:none;cursor:pointer;border-radius:var(--radius-sm);padding:var(--space-2xs);margin:calc(-1 * var(--space-2xs));transition:all var(--transition-fast)}.year-company-info-clickable:hover{background:var(--color-bg-elevated);transform:translateY(-1px)}.year-company-info-clickable:hover .company-badge,.year-company-info-clickable:hover .business-unit-badge{filter:brightness(1.1)}.company-badge,.business-unit-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500}.company-badge{background:var(--color-primary);color:var(--color-bg-base)}.business-unit-badge{background:var(--color-secondary);color:var(--color-bg-base)}.year-badges{display:flex;gap:var(--space-xs)}.year-buttons{display:flex;gap:var(--space-xs);flex-wrap:wrap}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-md)}.quick-action{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);padding:var(--space-lg);background:var(--color-bg-surface);border-radius:var(--radius-md);color:var(--color-text-secondary);text-align:center;transition:all var(--transition-fast);text-decoration:none}.quick-action:hover{background:var(--color-bg-hover);color:var(--color-text-primary);transform:translateY(-2px)}.quick-action-icon{font-size:1.5rem}.years-page{padding:var(--space-lg);max-width:1400px;margin:0 auto}.year-selector{margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);display:inline-block;width:auto}.year-selector .form-group{max-width:200px;margin:0;display:flex;align-items:center;gap:var(--space-sm);flex-direction:row}.year-selector label{font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary);margin:0;white-space:nowrap}.year-select{width:auto;min-width:100px;padding:var(--space-xs) var(--space-sm);font-size:var(--text-base);font-weight:600;color:var(--color-text-primary);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.year-select:hover{border-color:var(--color-border-hover)}.year-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-container)}.add-year-form{margin-bottom:var(--space-lg)}.add-year-form form{display:flex;flex-direction:column;gap:var(--space-md)}.add-year-form .form-group input{max-width:200px}.empty-icon{font-size:3rem;margin-bottom:var(--space-md)}.years-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--space-lg)}.year-card{display:flex;flex-direction:column;gap:var(--space-md)}.year-card-header{display:flex;align-items:center;justify-content:space-between}.year-number{font-size:2rem;font-weight:700;font-family:var(--font-mono);background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.year-card-status{display:flex;flex-direction:column;gap:var(--space-xs)}.status-item{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-text-muted);font-size:var(--text-base)}.status-item.active{color:var(--color-text-primary)}.status-item.active .status-dot{background:var(--color-success);box-shadow:var(--shadow-glow-success)}.year-card-actions{display:flex;flex-wrap:wrap;gap:var(--space-sm);margin-top:auto}.coa-page{padding:var(--space-lg);max-width:var(--container-xl);margin:0 auto}.coa-page .page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-lg)}.coa-page .page-header-left{display:flex;align-items:center;gap:var(--space-md)}.charts-list{display:grid;gap:var(--space-md);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.charts-list .chart-card{display:flex;flex-direction:column;min-height:160px;height:100%}.charts-list .chart-card .chart-stats{margin-top:auto}.chart-card{cursor:pointer;transition:all var(--transition-fast)}.chart-card:hover{border-color:var(--color-primary);transform:translateY(-2px)}.chart-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.chart-country{display:flex;align-items:center;gap:var(--space-sm)}.country-flag{font-size:1.5rem}.chart-stats{display:flex;gap:var(--space-lg)}.chart-stats .stat{display:flex;flex-direction:column;align-items:center}.chart-stats .stat-value{font-size:var(--text-xl);font-weight:700;font-family:var(--font-mono)}.chart-stats .stat-label{font-size:var(--text-sm);color:var(--color-text-muted)}.coa-page .categories-list{display:flex;flex-direction:column;gap:var(--space-md)}.coa-page .category-card{overflow:hidden}.coa-page .category-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--color-primary);border-bottom:1px solid var(--color-border)}.coa-page .category-title{font-size:var(--text-md);font-weight:600;margin:0;color:var(--color-bg-base)}.coa-page .category-actions{display:flex;gap:var(--space-xs)}.coa-page .category-actions .btn{color:var(--color-bg-base)}.add-account-form{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.add-account-form input{flex:1}.add-account-form input[type=number]{max-width:120px}.coa-page .accounts-table{padding:0}.coa-page .accounts-table table{width:100%;border-collapse:collapse;table-layout:fixed}.coa-page .accounts-table th,.coa-page .accounts-table td{padding:var(--space-sm) var(--space-md);text-align:left;vertical-align:middle}.coa-page .accounts-table th{font-weight:600;font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-surface);border-bottom:2px solid var(--color-border)}.coa-page .accounts-table th:first-child{width:140px}.coa-page .accounts-table th:last-child{width:100px;text-align:center}.coa-page .accounts-table td:last-child{text-align:center}.coa-page .accounts-table tbody tr{border-bottom:1px solid var(--color-border)}.coa-page .accounts-table tbody tr:hover{background:var(--color-bg-hover)}.coa-page .accounts-table .account-number{font-family:var(--font-mono);font-weight:600;color:var(--color-primary)}.coa-page .no-accounts{padding:var(--space-md);text-align:center}.coa-page .add-form{margin-bottom:var(--space-lg);padding:var(--space-md)}.coa-page .add-form .form-row{display:flex;align-items:center;gap:var(--space-sm)}.coa-page .add-form input{flex:1;max-width:300px}.forecast-template-page{padding:var(--space-lg);max-width:var(--container-xl);margin:0 auto}.forecast-template-page .page-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-md);margin-bottom:var(--space-lg)}.forecast-template-page .page-header-left{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.forecast-template-page .categories-list{display:flex;flex-direction:column;gap:var(--space-md)}.forecast-template-page .category-card{overflow:hidden}.forecast-template-page .category-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.forecast-template-page .category-reorder{display:flex;flex-direction:column;gap:0}.forecast-template-page .reorder-btn{padding:0 var(--space-xs);min-height:auto;line-height:1;font-size:var(--text-xs)}.forecast-template-page .category-title{font-size:var(--text-md);font-weight:600;margin:0;flex:1;text-align:left}.forecast-template-page .category-actions{display:flex;gap:var(--space-xs);margin-left:auto}.edit-inline-form{display:flex;align-items:center;gap:var(--space-sm);flex:1}.edit-inline-input{flex:1;max-width:300px}.forecast-template-page .category-accounts{padding:var(--space-sm) var(--space-md)}.forecast-template-page .account-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border)}.forecast-template-page .account-item:last-child{border-bottom:none}.forecast-template-page .account-name{flex:1;text-align:left}.forecast-template-page .account-linked{font-size:var(--text-sm);color:var(--color-text-muted)}.forecast-template-page .add-form{margin-bottom:var(--space-lg);padding:var(--space-md)}.forecast-template-page .add-form .form-row{display:flex;align-items:center;gap:var(--space-sm)}.forecast-template-page .add-form input{flex:1;max-width:300px}.forecast-page{padding:var(--space-lg);max-width:var(--container-full);margin:0 auto}.forecast-page .page-header{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.forecast-page .page-header>div:first-child{display:flex;flex-direction:column;gap:var(--space-sm);width:100%}.forecast-page .page-actions{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap;width:100%}.forecast-controls{display:flex;gap:var(--space-lg);align-items:flex-end;padding:var(--space-lg);margin-bottom:var(--space-lg);flex-wrap:wrap}.kpi-section{margin-bottom:var(--space-xl)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.kpi-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:center}.kpi-card .kpi-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.kpi-card .kpi-value{font-size:var(--text-xl);font-weight:700;font-family:var(--font-mono)}.kpi-card .kpi-value.positive{color:var(--color-success)}.kpi-card .kpi-value.negative{color:var(--color-error)}.category-section{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);overflow:hidden}.category-section.collapsed .category-table-container{display:none}.category-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:var(--color-primary);cursor:pointer;transition:background var(--transition-fast);-webkit-user-select:none;user-select:none;position:relative;z-index:10;min-height:52px}.category-header:hover{background:color-mix(in srgb,var(--color-primary) 90%,white)}.category-title{font-size:var(--text-lg);font-weight:700;display:flex;align-items:center;gap:var(--space-sm);color:#fff;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.2)}.category-toggle{transition:transform var(--transition-fast);width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:var(--text-sm)}.category-toggle.collapsed{transform:rotate(-90deg)}.category-table-container{animation:slideDown .2s ease}.category-summary{display:flex;align-items:center;gap:var(--space-md);font-family:var(--font-mono);font-size:var(--text-base);background:#00000040;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);flex-shrink:0}.summary-item{display:flex;align-items:center;gap:var(--space-xs)}.summary-value{font-weight:700;font-size:var(--text-lg);color:#fff}.summary-value.positive{color:#86efac}.summary-value.negative{color:#fda4af}.summary-label{font-size:var(--text-sm);color:#ffffffd9;font-weight:600}.category-table-container{overflow-x:auto}.category-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:var(--text-sm);border:1px solid var(--color-border)}.category-table th,.category-table td{padding:var(--space-xs) var(--space-sm);text-align:right;border:1px solid var(--color-border)}.category-table th{background:var(--color-bg-surface);font-weight:600;color:var(--color-text-secondary);border-bottom:2px solid var(--color-border)}.category-table tbody tr:nth-child(2n){background:#ffffff05}.category-table tbody tr:hover,.category-table tbody tr:hover td{background:var(--color-bg-surface)}.account-col{text-align:left!important;width:var(--fin-label-col);min-width:var(--fin-label-col);padding-left:var(--space-md)!important;background:var(--color-bg-elevated)!important}.category-table:not(:has(.type-col)) .account-col{width:var(--fin-label-total);min-width:var(--fin-label-total)}.category-table--no-type .account-col{width:var(--fin-label-total);min-width:var(--fin-label-total)}.account-number{display:inline-block;font-family:var(--font-mono);font-weight:600;color:var(--color-primary);margin-right:var(--space-sm);min-width:50px}.account-name{display:inline;font-weight:500;color:var(--color-text-primary)}.type-col{width:var(--fin-type-col);min-width:var(--fin-type-col);text-align:center!important;font-weight:600;font-size:var(--text-xs)}.type-budget{color:var(--color-text-secondary);background:var(--color-bg-surface)}.type-forecast{color:var(--color-primary);background:var(--color-primary-container)}.type-actual{color:var(--color-tertiary);background:var(--color-tertiary-container)}.month-col{width:var(--fin-month-col);min-width:var(--fin-month-col)}.total-col{width:var(--fin-total-col);min-width:var(--fin-total-col);font-weight:600;background:var(--color-bg-surface);border-left:2px solid var(--color-border)}.value-cell{font-family:var(--font-mono);transition:background var(--transition-fast)}.value-cell.positive{color:var(--color-success)}.value-cell.negative{color:var(--color-error)}.value-cell.forecast.editable{cursor:pointer}.value-cell.forecast.editable:hover{background:#00d1ff33}.cell-input{width:100%;padding:2px 4px;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:inherit;text-align:right;background:var(--color-bg-surface);color:var(--color-text-primary)}.cell-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-container)}.cell-input.always-visible{border-color:transparent;background:transparent}.cell-input.always-visible:hover{border-color:var(--color-border);background:var(--color-bg-surface)}.cell-input.always-visible:focus{border-color:var(--color-primary);background:var(--color-bg-surface)}.cell-input::-webkit-outer-spin-button,.cell-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.cell-input[type=number]{-moz-appearance:textfield}.year-detail-page{padding:var(--space-lg);max-width:var(--container-full);margin:0 auto}.year-detail-header{flex-wrap:wrap!important;align-items:center!important;gap:var(--space-sm) var(--space-md);margin-bottom:var(--space-md)}.year-detail-header .page-header-left{display:flex;align-items:center;gap:var(--space-md);flex-shrink:0}.year-detail-header .company-info{margin-top:0}.year-detail-header .page-actions{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-left:auto}.currency-unit-label{font-size:var(--text-xs);color:var(--color-text-muted);background:var(--color-bg-surface);padding:2px var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.company-info{display:flex;gap:var(--space-sm);margin-top:var(--space-sm);flex-wrap:wrap}.type-tabs{display:flex;flex-shrink:0;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.type-tab{padding:var(--space-sm) var(--space-md);font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary);transition:all var(--transition-fast);text-decoration:none}.type-tab:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.type-tab.active{background:var(--color-primary);color:var(--color-bg-base)}.view-options{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md)}.checkbox-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-base);color:var(--color-text-secondary)}.checkbox-label input[type=checkbox]{width:18px;height:18px;margin-right:var(--space-xs);accent-color:var(--color-primary);cursor:pointer;flex-shrink:0}.checkbox-label span{font-weight:500}.categories-container{display:flex;flex-direction:column;gap:var(--space-xl)}.grand-total-section{background:var(--color-bg-surface)}.grand-total-section .category-header{background:var(--color-primary)}.grand-total-section .category-title{color:var(--color-bg-base)}.totals-row{background:var(--color-bg-surface);font-weight:600}.totals-row td{border-top:2px solid var(--color-border)}.kpi-section{background:linear-gradient(135deg,var(--color-bg-elevated) 0%,var(--color-bg-surface) 100%);border:2px solid var(--color-primary);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-md)}.kpi-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md) var(--space-lg);background:var(--color-primary);border-bottom:1px solid var(--color-border)}.kpi-title{font-size:var(--text-xl);font-weight:700;color:var(--color-bg-base);margin:0;letter-spacing:.02em}.kpi-table-container{overflow-x:auto;padding:var(--space-sm)}.kpi-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);table-layout:fixed;border:1px solid var(--color-border)}.kpi-table thead th{background:var(--color-bg-surface);padding:var(--space-sm) var(--space-md);font-weight:600;color:var(--color-text-secondary);border:1px solid var(--color-border);border-bottom:2px solid var(--color-border);white-space:nowrap;text-align:right}.kpi-table thead th:first-child{text-align:left}.kpi-label-col{width:var(--fin-label-col);min-width:var(--fin-label-col);max-width:var(--fin-label-col)}.kpi-type-col{width:var(--fin-type-col);min-width:var(--fin-type-col);max-width:var(--fin-type-col);text-align:center!important}.kpi-table:not(:has(.kpi-type-col)) .kpi-label-col{width:var(--fin-label-total);min-width:var(--fin-label-total);max-width:var(--fin-label-total)}.kpi-table--no-type .kpi-label-col{width:var(--fin-label-total);min-width:var(--fin-label-total);max-width:var(--fin-label-total)}.kpi-month-col{width:var(--fin-month-col);min-width:var(--fin-month-col);max-width:var(--fin-month-col)}.kpi-ytd-col{width:var(--fin-ytd-col);min-width:var(--fin-ytd-col);max-width:var(--fin-ytd-col);background:#00d1ff1a}.kpi-total-col{width:var(--fin-total-col);min-width:var(--fin-total-col);max-width:var(--fin-total-col);background:#00d1ff26;font-weight:700}.kpi-row{transition:background var(--transition-fast)}.kpi-row:hover{background:var(--color-bg-surface)}.kpi-row td{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border)}.kpi-label{font-weight:600;color:var(--color-text-primary);text-align:left}.kpi-table .kpi-value{text-align:right;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500}.kpi-table .kpi-value.positive{color:var(--color-success)}.kpi-table .kpi-value.negative{color:var(--color-error)}.kpi-table .kpi-value.kpi-ytd{background:#00d1ff1a;font-weight:600}.kpi-table .kpi-value.kpi-total{background:#00d1ff26;font-weight:700}.kpi-table .kpi-percent-row{background:var(--color-bg-surface)}.kpi-table .kpi-percent-row:hover{background:var(--color-bg-elevated)}.kpi-table .kpi-value.kpi-percent{font-style:italic;color:var(--color-text-secondary);font-weight:500}.kpi-table .kpi-percent-row .kpi-label{color:var(--color-text-secondary);font-weight:500}.consolidation-page{padding:var(--space-xl)}.consolidation-controls{display:flex;gap:var(--space-xl);align-items:flex-end;padding:var(--space-lg);margin-bottom:var(--space-xl)}.control-group{display:flex;flex-direction:column;gap:var(--space-sm)}.control-group label{font-weight:500;color:var(--color-text-secondary)}.consolidation-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.summary-card{padding:var(--space-lg);text-align:center}.summary-card h3{margin:0 0 var(--space-md) 0;font-size:var(--text-md);color:var(--color-text-secondary)}.summary-value{font-size:var(--text-4xl);font-weight:700;margin:0;color:var(--color-primary);font-family:var(--font-mono)}.consolidation-document{padding:var(--space-lg);margin-bottom:var(--space-xl)}.document-total{font-size:var(--text-xl);margin-bottom:var(--space-lg);color:var(--color-text-secondary)}.monthly-breakdown{margin-top:var(--space-lg)}.analysis-page{padding:var(--space-xl);max-width:var(--container-2xl);margin:0 auto}.analysis-content{display:flex;flex-direction:column;gap:var(--space-xl)}.year-comparison-controls{display:flex;gap:var(--space-md);align-items:flex-end;flex-wrap:wrap}.year-selector-group{display:flex;gap:var(--space-md)}.year-selector{display:flex;flex-direction:column;gap:var(--space-xs)}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);margin-bottom:var(--space-xl)}.chart-card{padding:var(--space-lg);margin-bottom:var(--space-xl)}.chart-card:last-child{margin-bottom:0}.chart-card h3{margin:0 0 var(--space-md) 0;font-size:var(--text-lg);font-weight:600}.chart-container{width:100%;min-height:450px}.export-import-page{padding:var(--space-xl);max-width:var(--container-xl);margin:0 auto}.export-import-tabs{display:flex;flex-wrap:wrap;gap:var(--space-xs);padding:var(--space-xs);background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--space-xl)}.export-import-tab{padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.export-import-tab:hover{color:var(--color-text-primary);background:var(--color-bg-surface)}.export-import-tab.active{background:var(--color-primary);color:var(--color-bg-base);font-weight:600}.export-import-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--space-xl)}.card-header{display:flex;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm)}.card-header h2{font-size:var(--text-xl);font-weight:600;margin:0}.card-icon{font-size:1.5rem}.card-description{color:var(--color-text-secondary);font-size:var(--text-base);margin-bottom:var(--space-lg)}.export-section .form-group,.import-section .form-group,.export-import-page .card .form-group{margin-bottom:var(--space-md)}.export-section>.btn,.import-section>.btn,.export-import-page .card>.btn{margin-top:var(--space-md)}.file-input-wrapper{position:relative}.file-input-display{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);border:2px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated);transition:all var(--transition-fast)}.file-input-wrapper:hover .file-input-display{border-color:var(--color-primary);background:var(--color-bg-surface)}.import-preview{background:var(--color-bg-surface);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md);border:1px solid var(--color-border)}.preview-info{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-sm)}.overwrite-warning{background:var(--color-warning-bg);border:1px solid rgba(255,188,0,.3);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md)}.status-message{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:500;animation:slideUp .3s ease}.status-message.success{background:var(--color-success-bg);color:var(--color-success);border:1px solid rgba(0,129,93,.3)}.status-message.error{background:var(--color-error-bg);color:var(--color-error);border:1px solid rgba(248,113,113,.3)}.architecture-page{padding:var(--space-xl);max-width:var(--container-xl);margin:0 auto}.architecture-tabs{display:flex;gap:var(--space-sm);margin-bottom:var(--space-lg)}.architecture-tabs .tab-button{padding:var(--space-sm) var(--space-lg);border:none;background:var(--color-bg-elevated);color:var(--color-text-secondary);font-size:var(--text-base);font-weight:500;border-radius:var(--radius-md) var(--radius-md) 0 0;cursor:pointer;transition:all var(--transition-fast)}.architecture-tabs .tab-button:hover{background:var(--color-bg-surface);color:var(--color-text-primary)}.architecture-tabs .tab-button.active{background:var(--color-primary);color:var(--color-bg-base)}.architecture-content{padding:var(--space-xl);min-height:500px;overflow-x:auto}.mermaid-container{background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:var(--space-lg);overflow-x:auto;display:flex;justify-content:center}.mermaid-container svg{max-width:100%;height:auto}.mermaid-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-md);padding:var(--space-xl);color:var(--color-text-secondary)}.mermaid-error{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-xl);color:var(--color-error);text-align:center}.mermaid-error .error-icon{font-size:var(--text-2xl)}.mermaid-source{background:var(--color-bg-base);border-radius:var(--radius-md);padding:var(--space-md);font-family:var(--font-mono);font-size:var(--text-sm);overflow-x:auto;max-width:100%;color:var(--color-text-secondary)}.er-diagram-fullwidth{width:100vw;position:relative;left:50%;right:50%;margin-left:-50vw;margin-right:-50vw;background:var(--color-bg-elevated);padding:var(--space-lg) var(--space-xl);box-shadow:var(--shadow-sm)}.er-diagram-summary{display:flex;gap:var(--space-xl);justify-content:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.er-diagram-summary .summary-item{font-size:var(--text-lg);color:var(--color-text-secondary)}.er-diagram-summary .summary-item strong{color:var(--color-primary);font-weight:600;margin-right:var(--space-xs)}.er-diagram-container{width:100%;overflow-x:auto;min-height:400px;display:flex;justify-content:center;align-items:flex-start;padding:var(--space-md)}.er-diagram-container .mermaid-container{width:100%;max-width:none;justify-content:flex-start}.er-diagram-container svg{max-width:none;width:auto;height:auto;min-width:100%}.er-diagram-note{text-align:center;margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border);color:var(--color-text-tertiary);font-size:var(--text-sm);font-style:italic}.organization-page{padding:var(--space-xl);max-width:var(--container-xl);margin:0 auto}.organization-content{display:flex;flex-direction:column;gap:var(--space-xl)}.organization-section{margin-bottom:0}.organization-diagram{margin-top:var(--space-md)}.organization-diagram .mermaid-container{background:var(--color-bg-base);min-height:200px}.organization-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.organization-section .section-header h2{margin:0;font-size:var(--text-xl);font-weight:600}.organization-section .group-info{padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md)}.organization-section .group-info p{margin:0}.organization-section .group-info p+p{margin-top:var(--space-sm)}.organization-section .companies-list{display:flex;flex-direction:column;gap:var(--space-lg)}.organization-section .company-item{padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all var(--transition-normal)}.organization-section .company-item:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.organization-section .company-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-md)}.organization-section .company-header>div:first-child{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-sm)}.organization-section .company-type-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);background:var(--color-primary);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;text-transform:uppercase;letter-spacing:.025em}.organization-section .company-actions{display:flex;align-items:center;gap:var(--space-sm)}.organization-section .business-units-section{margin-top:var(--space-lg);padding:var(--space-md);background:var(--color-bg-base);border-radius:var(--radius-md);border-left:3px solid var(--color-secondary)}.organization-section .business-units-list{list-style:none;padding:0;margin:var(--space-md) 0 0 0;display:flex;flex-direction:column;gap:var(--space-sm)}.organization-section .business-unit-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.organization-section .business-unit-actions{display:flex;gap:var(--space-xs)}.organization-section .add-form{margin-top:var(--space-lg);padding:var(--space-lg);background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px dashed var(--color-border)}.organization-section .add-form .form-group{margin-bottom:var(--space-md)}.organization-section .add-form .form-group:last-of-type{margin-bottom:0}.organization-section .add-form .form-group label{display:block;margin-bottom:var(--space-xs);font-weight:500;font-size:var(--text-sm);color:var(--color-text-secondary)}.organization-section .add-form input,.organization-section .add-form select{width:100%;max-width:400px}.organization-section .add-form .form-actions{margin-top:var(--space-lg);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.organization-section .form-inline{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md)}.organization-section .form-inline input{flex:1;min-width:200px;max-width:400px}.organization-section .company-short-name,.organization-section .company-parent-name{font-size:var(--text-sm)}.organization-section .company-country-flag{font-size:var(--text-lg)}.organization-section .company-edit-form{margin-top:var(--space-md)}.organization-section .company-children{margin-top:var(--space-md);padding-left:var(--space-md);border-left:2px solid var(--color-border)}.organization-section .company-item .company-item{margin-top:var(--space-md);background:var(--color-bg-elevated);border-color:var(--color-border-hover)}.settings-page{padding:var(--space-xl);max-width:var(--container-lg);margin:0 auto}.settings-sections{display:flex;flex-direction:column;gap:var(--space-lg);max-width:600px}.settings-section{display:flex;flex-direction:column;gap:var(--space-md);margin-bottom:var(--space-xl)}.settings-section h2{font-size:var(--text-lg);margin-bottom:var(--space-md)}.settings-grid{display:grid;gap:var(--space-md)}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md)}.setting-label{font-weight:500}.setting-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-xs)}.section-title{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary)}.section-description{font-size:var(--text-base);color:var(--color-text-secondary);margin:0}.tab-order-list{display:flex;flex-direction:column;gap:var(--space-xs)}.tab-order-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);transition:all var(--transition-fast)}.tab-order-item:hover{border-color:var(--color-border-hover);background:var(--color-bg-hover)}.tab-order-position{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--color-bg-elevated);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);flex-shrink:0}.tab-order-name{flex:1;font-weight:500;color:var(--color-text-primary)}.tab-order-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.tab-order-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.tab-order-btn:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-primary);color:#fff}.tab-order-btn:disabled{opacity:.3;cursor:not-allowed}.tab-order-item--group{background:var(--color-bg-elevated);border-color:var(--brand-admin, var(--color-primary))}.tab-group-indicator{color:var(--color-text-muted);font-size:var(--text-sm);margin-left:var(--space-xs)}.tab-order-subtabs{margin-left:calc(var(--space-md) + 24px + var(--space-md));padding:var(--space-xs) 0;display:flex;flex-direction:column;gap:var(--space-xs)}.tab-order-item--subtab{background:var(--color-bg-base);border-color:var(--color-border);padding:var(--space-xs) var(--space-sm)}.tab-order-item--subtab .tab-order-position{width:20px;height:20px;font-size:var(--text-xs)}.tab-order-item--subtab .tab-order-name{font-size:var(--text-sm);font-weight:400}.tab-order-item--subtab .tab-order-btn{width:24px;height:24px;font-size:var(--text-xs)}.settings-actions{display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-md)}.unsaved-changes-notice{padding:var(--space-sm) var(--space-md);background:var(--color-warning-bg);border:1px solid rgba(255,188,0,.3);border-radius:var(--radius-md);color:var(--color-warning);font-size:var(--text-base);text-align:center}.subsection-title{font-size:var(--text-base);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--space-sm);margin-top:var(--space-md)}.subsection-title:first-of-type{margin-top:0}.countries-enabled{margin-bottom:var(--space-lg)}.countries-list{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.country-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);transition:all var(--transition-fast)}.country-item.enabled{background:var(--color-primary-container);border-color:var(--color-primary)}.country-item.available{cursor:pointer}.country-item.available:hover{background:var(--color-bg-hover);border-color:var(--color-primary)}.country-flag{font-size:var(--text-lg)}.country-name{font-weight:500;color:var(--color-text-primary)}.country-code{font-size:var(--text-sm);color:var(--color-text-secondary);font-family:var(--font-mono)}.country-remove{margin-left:auto;color:var(--color-text-muted);padding:2px 6px!important;font-size:var(--text-sm)}.country-remove:hover{color:var(--color-error)}.country-add-icon{margin-left:auto;color:var(--color-primary);font-weight:700;font-size:var(--text-lg)}.countries-add{margin-top:var(--space-lg)}.country-search{width:100%;padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--text-base);margin-bottom:var(--space-md)}.country-search:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-container)}.country-search::placeholder{color:var(--color-text-muted)}.countries-available-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-elevated)}.countries-available-list .country-item{border-radius:0;border:none;border-bottom:1px solid var(--color-border);background:transparent}.countries-available-list .country-item:last-child{border-bottom:none}.user-form{margin-bottom:var(--space-lg)}.user-form h2{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-md)}.user-form form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-md)}.form-grid .form-group{grid-column:auto}.avatar-edit-section{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-sm)}.avatar-edit-actions{display:flex;flex-direction:column;gap:var(--space-xs)}.matrix-container{overflow:auto;max-height:calc(100vh - 140px);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-elevated)}.permission-matrix{width:100%;border-collapse:collapse;min-width:600px}.matrix-label-cell{position:sticky;left:0;z-index:2;background:var(--color-bg-elevated);min-width:220px;max-width:280px;padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);border-right:2px solid var(--color-border);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.permission-matrix thead{position:sticky;top:0;z-index:3}.permission-matrix thead th{background:var(--color-bg-base);border-bottom:2px solid var(--color-border);padding:var(--space-sm) var(--space-md)}.permission-matrix thead th.matrix-label-cell{z-index:4;background:var(--color-bg-base);font-weight:600;font-size:var(--text-sm);color:var(--color-text-secondary)}.matrix-role-header{min-width:140px;text-align:center}.matrix-role-header-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-xs)}.matrix-role-name{font-size:var(--text-base);font-weight:600;color:var(--color-primary);text-transform:capitalize;cursor:default}.matrix-role-name[title]{cursor:pointer}.matrix-role-name-input{font-size:var(--text-base);font-weight:600;color:var(--color-primary);background:var(--color-bg-surface);border:1px solid var(--color-primary);border-radius:var(--radius-sm);padding:2px var(--space-xs);text-align:center;width:120px;outline:none}.matrix-role-actions{display:flex;gap:2px;opacity:0;transition:opacity var(--transition-fast)}.matrix-role-header:hover .matrix-role-actions{opacity:1}.btn-xs{font-size:var(--text-xs);padding:2px 4px;line-height:1}.matrix-cell{text-align:center;padding:var(--space-xs);border-bottom:1px solid var(--color-border);transition:background-color var(--transition-fast);min-width:140px}.matrix-cell.admin-active{background:#00d1ff0f}.matrix-admin-row{border-bottom:2px solid var(--color-border)}.matrix-admin-label{font-weight:600;color:var(--color-primary);background:var(--color-bg-surface)}.matrix-admin-cell,.matrix-category-row{background:var(--color-bg-surface)}.matrix-category-label{font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary);background:var(--color-bg-surface)!important;padding:var(--space-xs) var(--space-md);text-transform:uppercase;letter-spacing:.05em}.matrix-category-actions-cell{background:var(--color-bg-surface)!important;border-bottom:1px solid var(--color-border)}.matrix-category-quick-actions{display:flex;justify-content:center;gap:4px;opacity:0;transition:opacity var(--transition-fast)}.matrix-category-row:hover .matrix-category-quick-actions{opacity:1}.btn-quick-action{font-size:10px;font-weight:600;padding:1px 6px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-bg-elevated);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast);line-height:1.4}.btn-quick-action:hover{background:var(--color-primary-container);color:var(--color-primary);border-color:var(--color-primary)}.btn-quick-action-clear:hover{background:#ef444426;color:var(--color-error);border-color:var(--color-error)}.matrix-permission-row{transition:background-color var(--transition-fast)}.matrix-permission-row:hover{background:var(--color-bg-hover);position:relative;z-index:5}.matrix-permission-row:hover .matrix-label-cell{background:var(--color-bg-hover);z-index:6}.matrix-permission-label{color:var(--color-text-primary);font-weight:400;padding-left:calc(var(--space-md) + var(--space-sm));overflow:visible;position:relative;cursor:help}.matrix-permission-tooltip{visibility:hidden;opacity:0;position:absolute;left:var(--space-md);top:calc(100% + 4px);z-index:100;background:var(--color-bg-base);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);min-width:260px;max-width:360px;box-shadow:0 4px 12px #00000040;white-space:normal;pointer-events:none;transition:opacity var(--transition-fast),visibility var(--transition-fast)}.matrix-permission-label:hover .matrix-permission-tooltip{visibility:visible;opacity:1}.matrix-permission-tooltip-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.4;margin-bottom:var(--space-xs)}.matrix-permission-tooltip-path{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-primary);background:var(--color-bg-surface);padding:2px 6px;border-radius:var(--radius-sm);display:inline-block}.matrix-rw-toggles{display:flex;justify-content:center;gap:6px}.matrix-toggle{width:28px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);font-size:11px;font-weight:700;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;line-height:1}.matrix-toggle:disabled{cursor:default}.matrix-toggle:not(:disabled):hover{border-color:var(--color-text-secondary)}.matrix-toggle-read.active{background:var(--color-info);border-color:var(--color-info);color:#fff}.matrix-toggle-write.active{background:var(--color-success);border-color:var(--color-success);color:#fff}.matrix-toggle-admin{width:32px;height:28px;font-size:16px}.matrix-toggle-admin.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.matrix-toggle-data.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.matrix-permission-row:hover .matrix-cell{background:var(--color-bg-hover)}.matrix-permission-row:hover .matrix-cell.admin-active{background:#00d1ff1a}.matrix-cell.admin-active .matrix-toggle{opacity:.6}.matrix-cell.admin-active .matrix-toggle.active{opacity:1}.accounts-list{display:flex;flex-direction:column;gap:var(--space-md)}.account-card{padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.account-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm);gap:var(--space-sm)}.account-actions{display:flex;gap:var(--space-xs)}.linked-accounts{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-sm)}.linked-label{font-size:var(--text-sm);color:var(--color-text-secondary);padding-top:2px}.linked-tags{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.linked-tag{display:inline-block;padding:2px 8px;background:var(--color-primary-container);color:var(--color-primary);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-mono)}.accounts-selection{flex:1;overflow-y:auto;max-height:50vh;margin:var(--space-md) 0;border:1px solid var(--color-border);border-radius:var(--radius-md)}.selection-category{border-bottom:1px solid var(--color-border)}.selection-category:last-child{border-bottom:none}.selection-category-title{font-size:var(--text-base);font-weight:600;color:var(--color-primary);padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);margin:0;position:sticky;top:0}.selection-account{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);cursor:pointer;transition:background var(--transition-fast);background:var(--color-bg-elevated)}.selection-account:hover:not(.disabled){background:var(--color-bg-surface)}.selection-account.selected{background:var(--color-primary-container)}.selection-account.disabled{opacity:.5;cursor:not-allowed}.selection-account .account-number{font-family:var(--font-mono);font-weight:500;min-width:50px}.ui-test-page{padding:var(--space-xl);max-width:var(--container-2xl);margin:0 auto}.test-sections{display:flex;flex-direction:column;gap:var(--space-xl);margin-top:var(--space-xl)}.test-section{padding:var(--space-lg)}.test-section h2{margin-bottom:var(--space-lg);color:var(--color-primary)}.test-section h3{margin-bottom:var(--space-sm);font-size:var(--text-base);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em}.button-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg)}.button-grid>div{display:flex;flex-direction:column;gap:var(--space-sm)}.form-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-lg)}.access-denied{padding:var(--space-2xl);text-align:center}.access-denied h1{color:var(--color-error);margin-bottom:var(--space-md)}.access-denied p{color:var(--color-text-secondary)}.user-testing-page{padding:var(--space-lg);max-width:1200px;margin:0 auto}.user-testing-content{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-xl);margin-top:var(--space-lg)}@media(max-width:900px){.user-testing-content{grid-template-columns:1fr}}.user-testing-card{padding:var(--space-xl)}.user-testing-card .section-title{margin-bottom:var(--space-sm);color:var(--color-primary)}.user-testing-card .section-description{color:var(--color-text-secondary);margin-bottom:var(--space-xl);line-height:1.5}.user-testing-card .user-select{width:100%;padding:var(--space-sm) var(--space-md);font-size:var(--text-base);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);cursor:pointer}.user-testing-card .user-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-container)}.selected-user-details{margin-top:var(--space-xl);padding-top:var(--space-xl);border-top:1px solid var(--color-border)}.selected-user-details .subsection-title{margin-bottom:var(--space-md);color:var(--color-text-primary);font-weight:600}.user-detail-grid{display:grid;gap:var(--space-md)}.user-detail-item{display:flex;flex-wrap:wrap;gap:var(--space-sm)}.user-detail-label{font-weight:500;color:var(--color-text-secondary);min-width:120px}.user-detail-value{color:var(--color-text-primary)}.role-badges{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.badge-role{background:var(--color-primary-container);color:var(--color-primary);padding:var(--space-2xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500}.user-testing-actions{margin-top:var(--space-xl);padding-top:var(--space-lg);border-top:1px solid var(--color-border)}.btn-start-test{width:100%;padding:var(--space-md) var(--space-xl);font-size:var(--text-base);background:linear-gradient(135deg,#f97316,#ea580c);box-shadow:0 2px 8px #f973164d}.btn-start-test:hover:not(:disabled){background:linear-gradient(135deg,#ea580c,#c2410c);box-shadow:0 4px 12px #f9731666}.user-testing-info{padding:var(--space-lg);background:var(--color-bg-surface);height:fit-content}.user-testing-info .section-title{margin-bottom:var(--space-md);color:var(--color-text-primary);font-size:var(--text-lg)}.info-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-md)}.info-list li{position:relative;padding-left:var(--space-lg);color:var(--color-text-secondary);line-height:1.5}.info-list li:before{content:"→";position:absolute;left:0;color:var(--color-primary);font-weight:700}.kleer-integration-page{padding:var(--space-lg)}.kleer-integration-page .page-header{margin-bottom:var(--space-xl)}.kleer-integration-page .page-header h1{margin-bottom:var(--space-sm)}.kleer-integration-page .page-description{color:var(--color-text-secondary);font-size:var(--text-base);max-width:600px}.kleer-section{background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg)}.kleer-section h2{font-size:var(--text-lg);margin-bottom:var(--space-md);color:var(--color-text-primary);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-sm)}.kleer-section .section-description{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-md)}.kleer-status-card{display:flex;flex-direction:column;gap:var(--space-md)}.kleer-status-card .status-row{display:flex;align-items:center;gap:var(--space-md)}.kleer-status-card .status-label{color:var(--color-text-secondary);font-weight:500;min-width:150px}.kleer-status-card .status-error{margin-top:var(--space-sm)}.kleer-credentials-card{display:flex;flex-direction:column;gap:var(--space-md)}.credentials-summary{display:flex;flex-direction:column;gap:var(--space-sm)}.credential-row{display:flex;gap:var(--space-md)}.credential-label{color:var(--color-text-secondary);font-weight:500;min-width:150px}.credentials-actions{display:flex;gap:var(--space-md);margin-top:var(--space-md)}.credentials-form{max-width:400px}.credentials-form .form-actions{display:flex;gap:var(--space-md);margin-top:var(--space-md)}.redirect-url-row{margin-top:var(--space-sm);padding-top:var(--space-sm);border-top:1px solid var(--color-border)}.redirect-url-row .redirect-url{background:var(--color-bg-elevated);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:monospace;font-size:.9em;color:var(--color-text-primary);-webkit-user-select:all;user-select:all}.oauth-message{margin-bottom:var(--space-lg)}.oauth-setup-info{margin-bottom:var(--space-md)}.oauth-setup-info .redirect-url-inline{display:inline-block;background:var(--color-bg-elevated);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-family:monospace;font-size:.85em;margin-left:var(--space-xs);-webkit-user-select:all;user-select:all}.kleer-companies-list{display:flex;flex-direction:column;gap:var(--space-md)}.company-mapping-card{background:var(--color-bg-elevated);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--color-border)}.company-mapping-card .company-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.company-mapping-card .company-id{color:var(--color-text-muted);font-size:var(--text-sm)}.company-mapping-card .company-mapping{padding-left:var(--space-xl)}.kleer-sync-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.sync-setting-card{background:var(--color-bg-elevated);border-radius:var(--radius-md);padding:var(--space-md);border:1px solid var(--color-border)}.sync-setting-card .sync-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm)}.sync-setting-card .sync-header h3{font-size:var(--text-base);margin:0}.sync-setting-card .sync-description{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-md)}.sync-setting-card .sync-options{display:flex;flex-direction:column;gap:var(--space-sm)}.sync-setting-card .last-sync{display:flex;gap:var(--space-sm);font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-sm)}.sync-setting-card .last-sync-label{font-weight:500}.section-header-with-toggle{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.kleer-users-section{margin-top:var(--space-md)}.kleer-users-actions,.kleer-users-stats{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);flex-wrap:wrap}.kleer-users-table{margin-top:var(--space-md)}.kleer-users-table .inactive-row{opacity:.6}.kleer-users-table .no-data{color:var(--color-text-secondary)}.kleer-users-table td{vertical-align:middle}.kleer-users-table .MuiSelect-select{min-width:200px}.kleer-info{background:var(--color-bg-info);border-left:4px solid var(--color-info)}.kleer-info ul{margin:var(--space-sm) 0 0 var(--space-lg);padding:0}.kleer-info li{margin-bottom:var(--space-xs)}.harvest-integration-page{padding:var(--space-lg)}.harvest-integration-page .page-header{margin-bottom:var(--space-xl)}.harvest-integration-page .page-header h1{margin-bottom:var(--space-sm)}.harvest-integration-page .page-description{color:var(--color-text-secondary);font-size:var(--text-base);max-width:600px}.harvest-section{background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg)}.harvest-section h2{font-size:var(--text-lg);margin-bottom:var(--space-md);color:var(--color-text-primary);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-sm)}.harvest-section .section-description{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:var(--space-md)}.harvest-status-card{display:flex;flex-direction:column;gap:var(--space-md)}.harvest-status-card .status-row{display:flex;align-items:center;gap:var(--space-md)}.harvest-status-card .status-label{color:var(--color-text-secondary);font-weight:500;min-width:150px}.harvest-status-card .status-error{margin-top:var(--space-sm)}.harvest-status-card .status-stats{display:flex;flex-wrap:wrap;gap:var(--space-md);margin-top:var(--space-sm);padding:var(--space-sm) 0;border-top:1px solid var(--color-border)}.harvest-status-card .stat-item{color:var(--color-text-secondary);font-size:var(--text-sm)}.harvest-credentials-card{display:flex;flex-direction:column;gap:var(--space-md)}.harvest-sync-settings{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--space-lg)}.user-mappings-actions{display:flex;gap:var(--space-md);margin-bottom:var(--space-md)}.user-mappings-table{margin-top:var(--space-md)}.harvest-user-creation{background:var(--color-bg-surface);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-lg)}.harvest-user-creation .section-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-md)}.harvest-user-creation .section-header h3{font-size:var(--text-lg);margin:0 0 var(--space-xs) 0;color:var(--color-text-primary)}.harvest-user-creation .section-description{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.harvest-creation-toolbar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--space-sm);margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-hover);border-radius:var(--radius-md)}.harvest-creation-toolbar .toolbar-left,.harvest-creation-toolbar .toolbar-right{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.bulk-allocation-input{display:flex;align-items:center;gap:var(--space-xs)}.harvest-bu-cell{display:flex;align-items:center}.harvest-role-text{font-size:var(--text-sm);color:var(--color-text-secondary);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block}.harvest-row-linked{opacity:.6}.harvest-row-selected{background:var(--color-bg-selected, rgba(25, 118, 210, .04))}.harvest-info{background:var(--color-bg-info);border-left:4px solid var(--color-info)}.harvest-info ul{margin:var(--space-sm) 0 0 var(--space-lg);padding:0}.harvest-info li{margin-bottom:var(--space-xs)}.harvest-data-page{padding:var(--space-lg)}.harvest-data-page .page-header{margin-bottom:var(--space-lg)}.harvest-data-page .page-header h1{margin-bottom:var(--space-sm)}.harvest-data-page .page-description{color:var(--color-text-secondary);font-size:var(--text-base);max-width:600px}.harvest-data-toolbar{display:flex;flex-wrap:wrap;gap:var(--space-md);align-items:center;margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-lg)}.harvest-data-toolbar .data-count{margin-left:auto;color:var(--color-text-secondary);font-size:var(--text-sm)}.harvest-data-summary{display:flex;flex-wrap:wrap;gap:var(--space-lg);margin-bottom:var(--space-lg);padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-lg)}.harvest-data-summary .summary-item{color:var(--color-text-secondary);font-size:var(--text-sm)}.harvest-data-summary .summary-item strong{color:var(--color-text-primary);font-size:var(--text-base);margin-right:var(--space-xs)}.liquidity-forecast-row{background-color:#2196f314}.liquidity-forecast-row td{color:var(--color-info)}.liquidity-forecast-row .row-name{color:#1976d2}.liquidity-forecast-cell{background-color:#2196f314}.liquidity-table-container{border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--color-border)}.liquidity-table th{background:linear-gradient(180deg,var(--color-bg-surface) 0%,var(--color-bg-elevated) 100%);border-bottom:2px solid var(--color-primary);font-weight:600;text-transform:uppercase;letter-spacing:.025em;font-size:var(--text-xs);color:var(--color-text-secondary)}.liquidity-table th.sticky-column{position:sticky;left:0;z-index:3;background:var(--color-bg-elevated)}.liquidity-row-closing-balance{background:linear-gradient(135deg,var(--color-primary) 0%,rgba(0,209,255,.85) 100%)!important}.liquidity-row-closing-balance td{color:#fff!important;font-weight:700!important}.liquidity-row-closing-balance td:first-child{box-shadow:inset 4px 0 #ffffff4d}.liquidity-row-net-cashflow{background:#00d1ff1f!important;border-top:2px solid var(--color-primary)!important}.liquidity-row-net-cashflow td{font-weight:600!important}.liquidity-row-section-header{background:var(--color-bg-surface)!important;border-top:2px solid var(--color-border)!important}.liquidity-row-section-header td{font-weight:600!important}.liquidity-row-forecast{background:#f49ac126!important}.liquidity-row-forecast td{font-style:italic}.liquidity-row-calculated{background:#00d1ff0d!important}.liquidity-row-regular,.liquidity-row-regular:nth-child(2n){background:var(--color-bg-base)!important;transition:background-color var(--transition-fast)}.liquidity-row-closing-balance:nth-child(2n){background:linear-gradient(135deg,var(--color-primary) 0%,rgba(0,209,255,.85) 100%)!important}.liquidity-row-net-cashflow:nth-child(2n){background:#00d1ff1f!important}.liquidity-row-section-header:nth-child(2n){background:var(--color-bg-surface)!important}.liquidity-row-forecast:nth-child(2n){background:#f49ac126!important}.liquidity-row-calculated:nth-child(2n){background:#00d1ff0d!important}.liquidity-row-regular:hover{background:#00d1ff14!important}.liquidity-row-regular:hover td:first-child{box-shadow:inset 3px 0 0 var(--color-primary)}.liquidity-cell-expandable{cursor:pointer;transition:background-color var(--transition-fast)}.liquidity-cell-expandable:hover{background-color:#00d1ff26!important}.liquidity-table td.sticky-column{position:sticky;left:0;z-index:1;border-right:2px solid var(--color-border);white-space:nowrap}.liquidity-value-positive{color:var(--color-success)!important}.liquidity-value-negative{color:var(--color-error)!important}td.liquidity-editable-cell,td.liquidity-editable-cell.MuiTableCell-root,tr td.liquidity-editable-cell,tr:nth-child(2n) td.liquidity-editable-cell,tr:nth-child(odd) td.liquidity-editable-cell,tbody tr td.liquidity-editable-cell{padding:0!important;background:#00d1ff14!important;background-color:#00d1ff14!important;border-left:2px dashed rgba(0,209,255,.5)!important;border-right:2px dashed rgba(0,209,255,.5)!important}td.liquidity-editable-cell:hover,tbody tr td.liquidity-editable-cell:hover{background:#00d1ff26!important;background-color:#00d1ff26!important}.liquidity-editable-input{width:100%;height:100%;border:none;background:transparent;text-align:right;font-size:var(--text-sm);padding:6px 12px;outline:none;border-radius:0;box-sizing:border-box;font-family:var(--font-mono);font-weight:inherit;transition:all var(--transition-fast)}.liquidity-editable-input:focus{background:#fff;outline:2px solid var(--color-primary);box-shadow:0 0 12px #00d1ff66}.liquidity-cell-weekend{background-color:#0000000f!important}.liquidity-cell-monday{border-left:2px solid var(--color-primary)!important}.liquidity-row-closing-balance .liquidity-cell-weekend{background:linear-gradient(135deg,#00b4dc,#00b4dcd9)!important}.liquidity-row-net-cashflow .liquidity-cell-weekend{background:#00d1ff33!important}.liquidity-row-section-header .liquidity-cell-weekend{background:var(--color-bg-elevated)!important}.liquidity-row-forecast .liquidity-cell-weekend{background:#f49ac140!important}.liquidity-row-calculated .liquidity-cell-weekend{background:#00d1ff1a!important}.liquidity-view-toggle{border-radius:var(--radius-md)!important;overflow:hidden}.liquidity-view-toggle .MuiToggleButton-root{border:1px solid var(--color-border)!important;color:var(--color-text-secondary);padding:6px 12px;transition:all var(--transition-fast)}.liquidity-view-toggle .MuiToggleButton-root:hover{background:#00d1ff1a;color:var(--color-primary)}.liquidity-view-toggle .MuiToggleButton-root.Mui-selected{background:linear-gradient(135deg,var(--color-primary) 0%,rgba(0,209,255,.85) 100%)!important;color:#fff!important;border-color:var(--color-primary)!important;box-shadow:0 0 12px #00d1ff66}.liquidity-view-toggle .MuiToggleButton-root.Mui-selected:hover{background:linear-gradient(135deg,#00d1ffe6,#00d1ffbf)!important}.liquidity-legend{display:flex;gap:var(--space-md);flex-wrap:wrap;align-items:center;padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.liquidity-legend-item{display:flex;align-items:center;gap:var(--space-xs)}.liquidity-legend-color{width:16px;height:16px;border-radius:var(--radius-sm)}.liquidity-legend-color.closing-balance{background:linear-gradient(135deg,var(--color-primary) 0%,rgba(0,209,255,.85) 100%)}.liquidity-legend-color.net-cashflow{background:#00d1ff26;border:1px solid var(--color-primary)}.liquidity-legend-color.forecast{background:#f49ac126;border:1px solid rgba(244,154,193,.5)}.liquidity-legend-color.weekend{background:#00000014;border:1px solid var(--color-border)}.liquidity-legend-color.holiday{background:#ff980026;border:1px solid rgba(255,152,0,.5)}.liquidity-legend-color.editable{background:#00d1ff1a;border:2px dashed rgba(0,209,255,.5)}.liquidity-legend-text{font-size:var(--text-xs);color:var(--color-text-secondary)}.liquidity-legend-text.positive{color:var(--color-success);font-weight:600}.liquidity-legend-text.negative{color:var(--color-error);font-weight:600}.liquidity-cell-holiday{background-color:#ff98001a!important}.liquidity-row-closing-balance .liquidity-cell-holiday{background:linear-gradient(135deg,#b4783cf2,#c88c50d9)!important}.liquidity-row-net-cashflow .liquidity-cell-holiday{background:#ff98002e!important}.liquidity-row-section-header .liquidity-cell-holiday{background:#ff98001f!important}.liquidity-row-forecast .liquidity-cell-holiday{background:#ff98002e!important}.liquidity-row-calculated .liquidity-cell-holiday{background:#ff98001a!important}.liquidity-row-closing-balance .liquidity-cell-weekend{background:linear-gradient(135deg,#0096bef2,#0096bed9)!important}.liquidity-row-net-cashflow .liquidity-cell-weekend{background:#ffffff14!important}.liquidity-row-section-header .liquidity-cell-weekend,.liquidity-row-forecast .liquidity-cell-weekend,.liquidity-row-calculated .liquidity-cell-weekend,.liquidity-row-regular .liquidity-cell-weekend{background:#ffffff0f!important}.liquidity-row-regular .liquidity-cell-holiday{background:#ff98001a!important}.liquidity-table td{font-family:var(--font-mono);font-size:var(--text-sm)}.liquidity-table td:first-child{font-family:var(--font-sans)}.badge-system{display:inline-block;margin-left:var(--space-xs);padding:2px 6px;background:var(--color-primary);color:var(--color-bg-base);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500;vertical-align:middle}.badge-formula{display:inline-block;padding:2px 8px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:500}.category-checkbox-list{display:flex;flex-direction:column;gap:var(--space-xs);max-height:200px;overflow-y:auto;padding:var(--space-sm);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.checkbox-item{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.checkbox-item:hover{background:var(--color-bg-elevated)}.account-list-container{max-height:300px;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface)}.account-category-group{margin-bottom:var(--space-sm)}.account-category-header{padding:var(--space-xs) var(--space-sm);background:var(--color-bg-elevated);color:var(--color-text-secondary);font-weight:600;font-size:var(--text-sm);position:sticky;top:0;z-index:1}.account-item{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm);padding-left:var(--space-md);cursor:pointer;font-size:var(--text-sm);transition:background var(--transition-fast)}.account-item:hover{background:var(--color-bg-elevated)}.account-item.selected{background:var(--color-primary-container)}.account-item input[type=checkbox]{margin:0}.selected-accounts{margin-top:var(--space-md);padding:var(--space-sm);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.selected-accounts label{display:block;font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.account-chips{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.account-chip{display:inline-flex;align-items:center;gap:var(--space-xs);padding:2px 8px;background:var(--color-primary-container);color:var(--color-primary);border-radius:var(--radius-sm);font-size:var(--text-sm);font-family:var(--font-mono)}.chip-remove{background:none;border:none;padding:0;margin-left:var(--space-xs);cursor:pointer;color:var(--color-text-secondary);font-size:var(--text-base);line-height:1}.chip-remove:hover{color:var(--color-error)}.row-inactive{opacity:.6}.row-inactive td{background:var(--color-bg-surface)}.kpi-library-page{max-width:1200px}.kpi-library-page .settings-sections,.kpi-library-page .settings-section.card{max-width:none}.kpi-library-page .modal.modal-lg{max-width:var(--modal-xl);display:flex;flex-direction:column}.kpi-library-page .modal.modal-lg .modal-body{overflow-y:auto;flex:1;min-height:0}.kpi-library-page .modal.modal-lg .modal-footer{border-top:1px solid var(--color-border);padding:var(--space-md) var(--space-lg);flex-shrink:0}.form-section{border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-lg);overflow:hidden}.form-section-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);margin:0}.form-section-content{padding:var(--space-md)}.formula-type-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-sm)}.formula-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;text-align:center;transition:all .15s ease;position:relative}.formula-card:hover:not(.disabled){border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.formula-card.selected{border-color:var(--color-primary);background:var(--color-primary-container)}.formula-card.disabled{opacity:.5;cursor:not-allowed}.formula-card input[type=radio]{position:absolute;opacity:0;pointer-events:none}.formula-card-icon{font-size:1.5rem;margin-bottom:var(--space-xs)}.formula-card-title{font-weight:600;font-size:var(--text-sm)}.formula-card-desc{font-size:var(--text-xs);color:var(--color-text-secondary);margin-top:var(--space-xs)}.system-kpi-banner{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-warning-container);border:1px solid var(--color-warning);border-radius:var(--radius-md);margin-bottom:var(--space-md);font-size:var(--text-sm)}.system-kpi-banner .banner-icon{font-size:1rem;flex-shrink:0}.selected-accounts-summary{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-bg-elevated);border:1px solid var(--color-primary);border-radius:var(--radius-md);margin-bottom:var(--space-sm)}.selected-accounts-summary .account-chip{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.selected-accounts-summary .btn-clear-all{margin-left:auto;font-size:var(--text-xs);color:var(--color-primary);background:none;border:none;cursor:pointer;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.selected-accounts-summary .btn-clear-all:hover{background:var(--color-primary-container);color:var(--color-primary)}.field-locked{position:relative}.field-locked input:disabled,.field-locked select:disabled{background:var(--color-bg-surface);cursor:not-allowed}.field-locked .lock-icon{position:absolute;right:var(--space-sm);top:50%;transform:translateY(-50%);color:var(--color-text-tertiary);font-size:var(--text-sm)}.display-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.display-settings-grid .form-group{margin:0}.badge-system{font-size:var(--text-xs);padding:2px 6px;margin-left:var(--space-xs);background:var(--color-secondary);color:var(--color-bg-base);border-radius:var(--radius-sm);font-weight:500}.badge-formula{font-size:var(--text-xs);padding:2px 6px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.kpi-code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-bg-surface);padding:2px 6px;border-radius:var(--radius-sm)}.view-mode-toggle{display:inline-flex;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.view-mode-toggle .btn{border:none;border-radius:0;padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);background:transparent;transition:all var(--transition-fast)}.view-mode-toggle .btn:hover:not(.active){background:var(--color-bg-elevated);color:var(--color-text-primary)}.view-mode-toggle .btn.active{background:var(--color-primary);color:var(--color-on-primary)}.view-mode-toggle .btn:first-child{border-right:1px solid var(--color-border)}.period-selector{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.period-selector-group{display:flex;align-items:center;gap:var(--space-sm)}.period-selector-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);white-space:nowrap}.period-selector select{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-elevated);color:var(--color-text-primary);cursor:pointer;min-width:100px}.period-selector select:hover{border-color:var(--color-border-hover)}.period-selector select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-primary-container)}.comparison-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);flex-wrap:wrap;padding:var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-lg)}.comparison-header-left,.comparison-header-right{display:flex;align-items:center;gap:var(--space-md)}.comparison-table-container{overflow:auto;max-height:calc(100vh - 280px);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-elevated);box-shadow:var(--shadow-md)}.comparison-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.comparison-table th,.comparison-table td{padding:var(--space-sm) var(--space-md);text-align:right;border-bottom:1px solid var(--color-border);transition:background-color .15s ease}.comparison-table th{font-weight:600;background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em}.comparison-table thead tr:first-child th{position:sticky;top:0;z-index:10}.comparison-table thead tr.sub-header th{position:sticky;top:52px;z-index:9}.comparison-table .col-sticky{text-align:left;position:sticky;left:0;background:var(--color-bg-elevated);z-index:2;min-width:220px;max-width:280px;border-right:1px solid var(--color-border)}.comparison-table thead .col-sticky{background:var(--color-bg-surface);z-index:3}.comparison-table .col-account-header{display:flex;align-items:center;gap:var(--space-xs)}.comparison-table .header-icon{font-size:var(--text-base);opacity:.8}.comparison-table .col-group-header{text-align:center;font-weight:700;border-bottom:3px solid var(--color-border);font-size:var(--text-sm);letter-spacing:.02em;text-transform:none;padding:var(--space-md)}.comparison-table .col-group-header .header-icon{margin-right:var(--space-xs)}.comparison-table .col-group-header .period-label{display:block;font-size:var(--text-xs);font-weight:400;opacity:.8;margin-top:2px}.comparison-table .col-group-header.period-group{background:linear-gradient(135deg,var(--color-primary-container),rgba(0,209,255,.08));color:var(--color-primary);border-bottom-color:var(--color-primary)}.comparison-table .col-group-header.ytd-group{background:linear-gradient(135deg,var(--color-secondary-container),rgba(244,154,193,.08));color:var(--color-secondary);border-bottom-color:var(--color-secondary)}.comparison-table .sub-header th{font-size:var(--text-xs);background:var(--color-bg-elevated);color:var(--color-text-muted);padding:var(--space-xs) var(--space-md);font-weight:500;position:relative}.comparison-table .sub-header th .col-indicator{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:var(--space-xs);vertical-align:middle}.comparison-table .sub-header th .actual-indicator{background:var(--color-tertiary);box-shadow:0 0 4px #ffbc0080}.comparison-table .sub-header th .budget-indicator{background:var(--color-primary);box-shadow:0 0 4px #00d1ff80}.comparison-table .sub-header th .forecast-indicator{background:var(--color-secondary);box-shadow:0 0 4px #f49ac180}.comparison-table .sub-header th .prior-indicator{background:var(--color-text-muted);opacity:.6}.comparison-table .col-actual,.comparison-table .col-budget,.comparison-table .col-forecast,.comparison-table .col-prior-year{min-width:90px}.comparison-table .col-variance{min-width:110px}.comparison-table tbody tr:not(.category-row):not(.sum-row):not(.grand-total-row):hover td{background:var(--color-bg-hover)}.comparison-table tbody tr:not(.category-row):not(.sum-row):not(.grand-total-row):hover .col-sticky{background:var(--color-bg-hover)}.comparison-table tbody tr.row-striped td,.comparison-table tbody tr.row-striped .col-sticky{background:#ffffff05}.comparison-table .category-row td{font-weight:600;background:var(--color-bg-surface);border-top:2px solid var(--color-border);padding:var(--space-sm) var(--space-md);color:var(--color-text-secondary)}.comparison-table .category-row .col-sticky{background:var(--color-bg-surface)}.comparison-table .category-row .category-icon{margin-right:var(--space-xs);opacity:.7}.comparison-table .sum-row td{font-weight:600;border-top:1px solid var(--color-border);background:#00d1ff0d;padding:var(--space-sm) var(--space-md)}.comparison-table .sum-row .col-sticky{background:#00d1ff0d}.comparison-table .sum-row .sum-label{display:flex;align-items:center;gap:var(--space-xs);padding-left:var(--space-sm)}.comparison-table .sum-row .sum-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:700}.comparison-table .grand-total-row td{font-weight:700;font-size:var(--text-sm);background:linear-gradient(135deg,var(--color-bg-surface),var(--color-bg-base));border-top:3px solid var(--color-primary);padding:var(--space-md)}.comparison-table .grand-total-row .col-sticky{background:linear-gradient(135deg,var(--color-bg-surface),var(--color-bg-base))}.comparison-table .grand-total-row .grand-total-label{display:flex;align-items:center;gap:var(--space-sm);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em}.comparison-table .grand-total-row .grand-total-icon{font-size:var(--text-md)}.comparison-table .account-cell{padding-left:var(--space-lg)}.comparison-table .account-cell .account-number{display:inline-block;min-width:45px;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-muted);margin-right:var(--space-sm)}.comparison-table .account-cell .account-name{color:var(--color-text-primary)}.comparison-table .value-cell{font-family:var(--font-mono);font-size:var(--text-xs);white-space:nowrap}.comparison-table .value-cell.actual{color:var(--color-tertiary)}.comparison-table .value-cell.budget{color:var(--color-primary)}.comparison-table .value-cell.forecast{color:var(--color-secondary)}.comparison-table .value-cell.prior-year{color:var(--color-text-muted);opacity:.8}.comparison-table .variance-cell{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.comparison-table .variance-cell .variance-value{display:flex;align-items:center;gap:2px}.comparison-table .variance-cell .trend-arrow{font-size:var(--text-xs)}.comparison-table .variance-cell .variance-percent{font-size:9px;opacity:.7;font-weight:400}.comparison-table .variance-positive{color:var(--color-success);font-weight:600}.comparison-table .variance-positive .trend-arrow{animation:pulse-up 2s ease-in-out infinite}.comparison-table .variance-negative{color:var(--color-error);font-weight:600}.comparison-table .variance-negative .trend-arrow{animation:pulse-down 2s ease-in-out infinite}@keyframes pulse-up{0%,to{opacity:1}50%{opacity:.6}}@keyframes pulse-down{0%,to{opacity:1}50%{opacity:.6}}.comparison-table .col-separator{border-left:3px solid var(--color-border)}.comparison-empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);color:var(--color-text-secondary)}.comparison-empty-state .empty-icon{font-size:4rem;margin-bottom:var(--space-md);opacity:.4}@media(max-width:768px){.comparison-header,.period-selector{flex-direction:column;align-items:flex-start}.comparison-table .col-prior-year,.comparison-table .variance-cell .variance-percent{display:none}.comparison-table th,.comparison-table td{padding:var(--space-xs) var(--space-sm)}}.harvest-forecast-page{padding:var(--space-lg);min-height:100%}.harvest-forecast-page .page-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-lg);flex-wrap:wrap;gap:var(--space-md)}.harvest-forecast-page .page-header-actions{display:flex;gap:var(--space-sm)}.harvest-forecast-page .import-info{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-bg-surface);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm)}.harvest-forecast-page .import-file-label{color:var(--color-text-secondary)}.harvest-forecast-page .import-file-name{color:var(--color-text-primary);font-weight:500}.forecast-grid-container{overflow:auto;max-height:calc(100vh - 220px);background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.forecast-grid{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.forecast-grid th,.forecast-grid td{padding:var(--space-sm);text-align:center;border-bottom:1px solid var(--color-border)}.forecast-grid th{background:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary);position:sticky;top:0;z-index:10}.forecast-grid .person-col{text-align:left;min-width:250px;width:250px}.forecast-grid .person-col.sticky-col{position:sticky;left:0;z-index:20;background:var(--color-bg-surface)}.forecast-grid thead .person-col.sticky-col{background:var(--color-bg-elevated);z-index:30}.forecast-grid .month-col{min-width:80px;width:80px}.forecast-grid .month-col.current-month{background:rgba(var(--color-primary-rgb),.08)}.forecast-grid thead .month-col.current-month{background:rgba(var(--color-primary-rgb),.15)}.forecast-grid .person-row{cursor:default}.forecast-grid .person-row.expandable{cursor:pointer}.forecast-grid .person-row.expandable:hover{background:var(--color-bg-hover)}.forecast-grid .person-row .person-col.sticky-col{background:var(--color-bg-surface)}.forecast-grid .person-row.expandable:hover .person-col.sticky-col{background:var(--color-bg-hover)}.forecast-grid .person-info{display:flex;align-items:center;gap:var(--space-sm)}.forecast-grid .expand-icon{font-size:10px;width:16px;color:var(--color-text-secondary)}.forecast-grid .person-avatar{width:32px;height:32px;border-radius:50%;background:var(--color-primary);color:var(--color-on-primary);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:600;flex-shrink:0}.forecast-grid .person-details{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.forecast-grid .person-name{font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forecast-grid .person-role{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forecast-grid .match-badge{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0}.forecast-grid .match-badge-employee{background:var(--color-success);color:#fff}.forecast-grid .match-badge-subcontractor{background:var(--color-info);color:#fff}.forecast-grid .match-badge-harvest{background:#fa5c00;color:#fff}.forecast-grid .match-badge-unmatched{background:var(--color-warning);color:var(--color-text-primary)}.forecast-grid .availability-cell{font-weight:500;font-size:var(--text-xs)}.forecast-grid .availability-cell.empty{color:var(--color-text-disabled)}.forecast-grid .availability-cell.open{background:rgba(var(--color-success-rgb),.15);color:var(--color-success)}.forecast-grid .availability-cell.full{background:rgba(var(--color-warning-rgb),.15);color:var(--color-warning-dark, #b59200)}.forecast-grid .availability-cell.over{background:rgba(var(--color-error-rgb),.15);color:var(--color-error)}.forecast-grid .availability-cell.off{background:var(--color-bg-elevated);color:var(--color-text-secondary)}.forecast-grid .utilization-badge{display:block;font-size:.65rem;opacity:.7;line-height:1;margin-top:2px}.forecast-grid .project-row,.forecast-grid .project-row .person-col.sticky-col{background:var(--color-bg-elevated)}.forecast-grid .project-info{display:flex;flex-direction:column;gap:2px;padding-left:calc(16px + var(--space-sm) + 32px + var(--space-sm))}.forecast-grid .project-client{font-size:var(--text-xs);color:var(--color-text-secondary)}.forecast-grid .project-name{font-size:var(--text-sm);color:var(--color-text-primary)}.forecast-grid .project-hours{font-size:var(--text-xs);color:var(--color-text-secondary)}.harvest-forecast-page .empty-state{text-align:center;padding:var(--space-2xl) var(--space-lg);background:var(--color-bg-surface);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.harvest-forecast-page .empty-state-icon{font-size:4rem;margin-bottom:var(--space-md);opacity:.6}.harvest-forecast-page .empty-state h3{margin-bottom:var(--space-sm);color:var(--color-text-primary)}.harvest-forecast-page .empty-state p{color:var(--color-text-secondary);margin-bottom:var(--space-lg)}.harvest-forecast-page .modal-overlay{background:#000000d9}.harvest-forecast-page .import-modal{max-width:500px;width:90%;background:var(--color-bg-primary);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000080;max-height:90vh;overflow-y:auto}.harvest-forecast-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.harvest-forecast-page .modal-header h2{font-size:var(--text-lg);font-weight:600;margin:0}.harvest-forecast-page .modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--color-text-secondary);padding:0;line-height:1}.harvest-forecast-page .modal-close:hover{color:var(--color-text-primary)}.harvest-forecast-page .modal-body{padding:var(--space-lg)}.harvest-forecast-page .modal-footer{display:flex;gap:var(--space-sm);justify-content:flex-end;padding:var(--space-lg);border-top:1px solid var(--color-border)}.harvest-forecast-page .modal-footer .btn-outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text-primary)}.harvest-forecast-page .modal-footer .btn-outline:hover{background:var(--color-bg-elevated);border-color:var(--color-text-secondary)}.harvest-forecast-page .import-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-md);padding:var(--space-2xl);text-align:center;transition:border-color .2s,background .2s}.harvest-forecast-page .import-dropzone:hover{border-color:var(--color-primary);background:rgba(var(--color-primary-rgb),.05)}.harvest-forecast-page .file-input{display:none}.harvest-forecast-page .dropzone-label{cursor:pointer;display:block}.harvest-forecast-page .dropzone-icon{font-size:3rem;margin-bottom:var(--space-md);opacity:.6}.harvest-forecast-page .dropzone-label p{color:var(--color-text-primary);margin-bottom:var(--space-xs)}.harvest-forecast-page .dropzone-hint{color:var(--color-text-secondary);font-size:var(--text-sm)}.harvest-forecast-page .import-loading{text-align:center;padding:var(--space-xl)}.harvest-forecast-page .import-preview{padding:var(--space-md) 0}.harvest-forecast-page .preview-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-md)}.harvest-forecast-page .summary-item{padding:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-md);text-align:center}.harvest-forecast-page .summary-item.success{background:rgba(var(--color-success-rgb),.1)}.harvest-forecast-page .summary-item.warning{background:rgba(var(--color-warning-rgb),.1)}.harvest-forecast-page .summary-label{display:block;font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:var(--space-xs)}.harvest-forecast-page .summary-value{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary)}.harvest-forecast-page .summary-value.summary-value-sm{font-size:var(--text-sm)}.harvest-forecast-page .summary-item.success .summary-value{color:var(--color-success)}.harvest-forecast-page .summary-item.warning .summary-value{color:var(--color-warning-dark, #b59200)}.harvest-forecast-page .unmatched-warning{margin-top:var(--space-md);padding:var(--space-sm) var(--space-md);background:rgba(var(--color-warning-rgb),.1);border-left:3px solid var(--color-warning);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-secondary)}.staff-page{min-height:calc(100vh - var(--header-height) - 2 * var(--space-xl))}.staff-content{animation:fadeIn .2s ease}.staff-no-access{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--color-text-muted)}.staff-no-access-icon{font-size:3rem;margin-bottom:var(--space-md)}.staff-no-access h2{color:var(--color-text-primary);margin-bottom:var(--space-sm)}.layout.staff-active .nav-tab.active{color:var(--brand-pink);border-bottom-color:var(--brand-pink)}.layout.staff-active .nav-tab:hover{color:var(--brand-pink)}.staff-button{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-weight:500;font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.staff-button:hover{background:#f49ac11a;color:var(--brand-pink);border-color:var(--brand-pink)}.staff-button.active{background:#f49ac126;color:var(--brand-pink);border-color:var(--brand-pink)}.layout.staff-active .page-title{color:var(--brand-pink)}.staff-page .badge-primary,.staff-page .tag-primary{background:#f49ac126;color:var(--brand-pink)}.staff-page .btn-primary{background:var(--brand-pink);border-color:var(--brand-pink);color:var(--color-bg-base)}.staff-page .btn-primary:hover{background:#f7b5d1;border-color:#f7b5d1}.staff-page input:focus,.staff-page select:focus,.staff-page textarea:focus{border-color:var(--brand-pink);box-shadow:0 0 0 3px #f49ac133}.staff-page .tab.active{color:var(--brand-pink);border-bottom-color:var(--brand-pink)}.staff-page .table tbody tr:hover{background:#f49ac10d}.staff-page .progress-fill{background:var(--brand-pink)}@media(max-width:768px){.staff-button{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}}.layout.admin-active .nav-tab.active{color:var(--brand-admin);border-bottom-color:var(--brand-admin)}.layout.admin-active .nav-tab:hover{color:var(--brand-admin)}.nav-dropdown{position:relative;display:inline-flex}.nav-dropdown-toggle{display:flex;align-items:center;gap:var(--space-xs);background:none;border:none;cursor:pointer;font-family:inherit}.nav-dropdown-arrow{font-size:.7em;transition:transform var(--transition-fast)}.nav-dropdown.open .nav-dropdown-arrow{transform:rotate(180deg)}.nav-dropdown-menu{position:absolute;top:100%;left:0;min-width:200px;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-xs) 0;z-index:1000;animation:dropdownFadeIn .15s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.nav-dropdown-item{display:block;padding:var(--space-sm) var(--space-md);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-fast);white-space:nowrap}.nav-dropdown-item:hover{background:#f5bf411a;color:var(--brand-admin)}.nav-dropdown-item.active{background:#f5bf4126;color:var(--brand-admin);font-weight:500}.layout.admin-active .nav-dropdown.active .nav-dropdown-toggle{color:var(--brand-admin)}.admin-button{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--brand-admin);border-radius:var(--radius-md);color:var(--brand-admin);font-weight:500;font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.admin-button:hover{background:#f5bf4126;color:var(--brand-admin);border-color:var(--brand-admin)}.admin-button.active{background:#f5bf4133;color:var(--brand-admin);border-color:var(--brand-admin)}.admin-page{min-height:calc(100vh - var(--header-height) - 2 * var(--space-xl))}.admin-content{animation:fadeIn .2s ease}.admin-no-access{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--color-text-muted)}.admin-no-access-icon{font-size:3rem;margin-bottom:var(--space-md)}.admin-no-access h2{color:var(--color-text-primary);margin-bottom:var(--space-sm)}.layout.admin-active .page-title{color:var(--brand-admin)}.admin-page .tab.active{color:var(--brand-admin);border-bottom-color:var(--brand-admin)}.admin-page input:focus,.admin-page select:focus,.admin-page textarea:focus{border-color:var(--brand-admin);box-shadow:0 0 0 3px #f5bf4133}.admin-page .table tbody tr:hover{background:#f5bf410d}@media(max-width:768px){.admin-button{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}}.employees-page{padding:var(--space-lg)}.employees-filters{margin-bottom:var(--space-xl)}.employees-filters .filter-row{display:flex;gap:var(--space-xl);align-items:flex-end;flex-wrap:wrap;justify-content:space-between}.employees-filters .filter-group{display:flex;flex-direction:column;gap:var(--space-xs);min-width:200px;flex:1;max-width:300px}.employees-filters .filter-group-wide{display:flex;flex-direction:column;gap:var(--space-xs);min-width:300px;flex:2;max-width:450px}.employees-filters .filter-group label{font-weight:500;color:var(--color-text-secondary);font-size:var(--text-base)}.employees-filters .status-checkboxes{display:flex;gap:var(--space-xl)}.employees-filters .checkbox-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer;font-size:var(--text-base)}.employees-filters .btn.active{background:var(--color-primary);color:#fff}.cost-summary{margin-bottom:var(--space-xl)}.cost-summary h3{margin-bottom:var(--space-md);font-size:var(--text-lg)}.cost-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.cost-item{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm);background:var(--color-bg-surface);border-radius:var(--radius-sm)}.cost-item .cost-label{font-size:var(--text-sm);color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px}.cost-item .cost-value{font-size:var(--text-xl);font-weight:600}.cost-item.highlight{background:var(--color-primary);color:#fff}.cost-item.highlight .cost-label{color:#fffc}.cost-item.total{background:var(--color-success);color:#fff}.cost-item.total .cost-label{color:#fffc}.employees-table-container{overflow:auto;max-height:70vh}.employees-table-container.card{padding:0}.employees-table{width:100%;border-collapse:collapse}.employees-table th,.employees-table td{padding:var(--space-md) var(--space-lg);text-align:left;border-bottom:1px solid var(--color-border)}.employees-table th:first-child,.employees-table td:first-child{padding-left:var(--space-lg)}.employees-table th:last-child,.employees-table td:last-child{padding-right:var(--space-lg)}.employees-table th{background:var(--color-bg-surface);font-weight:600;font-size:var(--text-base);color:var(--color-text-secondary);white-space:nowrap;position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--color-border)}.employees-table tbody tr:hover{background:var(--color-bg-surface)}.employees-table .number{text-align:right;font-variant-numeric:tabular-nums}.employees-table .total-cell,.employees-table .total-cell strong{font-weight:600;color:var(--brand-pink)!important}.employees-table tfoot .totals-row{background:var(--color-bg-surface);border-top:2px solid var(--color-border)}.employees-table tfoot .totals-row td{padding-top:var(--space-lg);padding-bottom:calc(var(--space-lg) + .5rem);font-weight:600}.billing-type-summary{display:flex;gap:var(--space-sm);margin-top:var(--space-sm)}.billing-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500}.billing-badge.billable{background:#22c55e26;color:#22c55e}.billing-badge.non-billable{background:#ef444426;color:#ef4444}.billing-badge.hybrid{background:#eab30826;color:#eab308}.employees-table .actions{white-space:nowrap}.employee-name{display:flex;flex-direction:column;gap:2px}.employee-name strong{font-weight:500}.employee-name small{color:var(--color-text-secondary);font-size:var(--text-sm)}.employment-pct{color:var(--color-text-secondary);font-size:var(--text-base)}.employees-page .modal-overlay{background:#000000d9}.employees-page .modal-large{max-width:900px;width:95vw;background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000080}.employees-page .modal-content{max-height:90vh;overflow-y:auto;padding:var(--space-lg)}.employees-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.employees-page .modal-header h2{margin:0;font-size:var(--text-xl);font-weight:600}.form-section{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.form-section:last-of-type{border-bottom:none;margin-bottom:var(--space-md)}.form-section-title{font-size:var(--text-base);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.form-section-title:before{content:"";width:4px;height:16px;background:var(--color-primary);border-radius:2px}.employees-page .form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px 24px}.employees-page .form-grid .form-group{margin-bottom:0}.employees-page .form-group{display:flex;flex-direction:column;gap:8px}.form-group.full-width,.form-group-full{grid-column:1 / -1}.employees-page .form-group label{font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary);margin-bottom:var(--space-xs);display:block}.employees-page .form-group input,.employees-page .form-group select{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color .2s,box-shadow .2s}.employees-page .form-group input:focus,.employees-page .form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00d1ff1a}.employees-page .form-group input:disabled,.employees-page .form-group select:disabled{background:var(--color-bg-surface);cursor:not-allowed;opacity:.7}.employees-page .readonly-field{padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);color:var(--color-text-secondary);min-height:42px;display:flex;align-items:center}.employees-page .form-group input[type=date]{color-scheme:dark}.employees-page .form-group input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1) brightness(2);width:24px;height:24px;cursor:pointer;opacity:.8}.employees-page .form-group input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}.employees-page .form-group label .required{color:var(--color-error);margin-left:2px}.employees-page .form-actions{display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-md);border-top:1px solid var(--color-border);margin-top:var(--space-md)}@media(max-width:768px){.employees-filters .filter-row{flex-direction:column;align-items:stretch}.employees-filters .filter-group{min-width:100%}.cost-summary-grid{grid-template-columns:repeat(2,1fr)}.employees-page .form-grid{grid-template-columns:1fr}.employees-page .modal-large{max-width:100%;width:100%;margin:0;border-radius:0;min-height:100vh}}.payroll-rules-page{padding:var(--space-lg)}.rules-info{margin-bottom:var(--space-xl);background:var(--color-info-bg);border-left:4px solid var(--color-info);padding:var(--space-md);border-radius:0 var(--radius-md) var(--radius-md) 0}.rules-info .info-text{margin:0;color:var(--color-info);font-size:var(--text-base)}.rules-list{display:flex;flex-direction:column;gap:var(--space-lg)}.country-rules{padding:var(--space-lg)}.country-title{font-size:var(--text-xl);margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.rules-table-container{overflow-x:auto}.rules-table{width:100%;border-collapse:collapse}.rules-table th,.rules-table td{padding:var(--space-md) var(--space-lg);text-align:left;border-bottom:1px solid var(--color-border)}.rules-table th{background:var(--color-bg-surface);font-weight:600;font-size:var(--text-base);color:var(--color-text-secondary);white-space:nowrap}.rules-table tbody tr:hover{background:var(--color-bg-surface)}.rules-table .year-cell{font-weight:600;font-size:var(--text-md)}.rules-table .number{text-align:right;font-variant-numeric:tabular-nums}.rules-table .actions{white-space:nowrap}.itp-rates{display:flex;flex-direction:column;gap:2px}.itp-rates small{font-size:var(--text-sm);color:var(--color-text-secondary)}.payroll-rules-page .modal-overlay{background:#000000d9}.payroll-rules-page .modal-small{max-width:400px;background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000080}.payroll-rules-page .modal-large{max-width:700px;background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 25px 50px -12px #00000080}.payroll-rules-page .modal-content{max-height:90vh;overflow-y:auto;padding:var(--space-lg)}.payroll-rules-page .modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.payroll-rules-page .modal-header h2{margin:0;font-size:var(--text-xl);font-weight:600}.modal-description{color:var(--color-text-secondary);margin-bottom:var(--space-md)}.payroll-rules-page .form-section{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border)}.payroll-rules-page .form-section:last-of-type{border-bottom:none;margin-bottom:var(--space-md)}.payroll-rules-page .form-section-title{font-size:var(--text-base);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-md);display:flex;align-items:center;gap:var(--space-sm)}.payroll-rules-page .form-section-title:before{content:"";width:4px;height:16px;background:var(--brand-pink);border-radius:2px}.payroll-rules-page .section-title{font-size:var(--text-md);font-weight:600;margin-top:var(--space-lg);margin-bottom:var(--space-md);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.payroll-rules-page .form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px 32px}.payroll-rules-page .form-grid .form-group{margin-bottom:0}.payroll-rules-page .form-group{display:flex;flex-direction:column;gap:8px}.payroll-rules-page .form-group label{font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary)}.payroll-rules-page .form-group input,.payroll-rules-page .form-group select{width:100%;padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-base);transition:border-color .2s,box-shadow .2s}.payroll-rules-page .form-group input:focus,.payroll-rules-page .form-group select:focus{outline:none;border-color:var(--brand-pink);box-shadow:0 0 0 3px #f49ac133}.payroll-rules-page .form-actions{display:flex;gap:var(--space-md);justify-content:flex-end;padding-top:var(--space-md);border-top:1px solid var(--color-border);margin-top:var(--space-md)}.payroll-rules-page .checkbox-group{margin-top:var(--space-md)}.payroll-rules-page .checkbox-label{display:flex;align-items:center;gap:var(--space-sm);cursor:pointer}.payroll-rules-page .checkbox-label input[type=checkbox]{width:16px;height:16px}@media(max-width:768px){.payroll-rules-page .form-grid{grid-template-columns:1fr}.payroll-rules-page .page-actions{flex-direction:column}}.monthly-costs-page{padding:0}.monthly-costs-page .page-header{margin-bottom:var(--space-lg)}.monthly-costs-page .page-title{font-size:var(--text-3xl);font-weight:600;color:var(--color-text-primary);margin:0}.monthly-costs-filters{margin-bottom:var(--space-lg)}.monthly-costs-filters .filter-row{display:flex;flex-wrap:wrap;gap:var(--space-lg);align-items:flex-end}.monthly-costs-filters .filter-group{display:flex;flex-direction:column;gap:var(--space-sm);min-width:180px}.monthly-costs-filters .filter-group-wide{display:flex;flex-direction:column;gap:var(--space-sm);min-width:300px;max-width:450px}.monthly-costs-filters .filter-group label{font-size:var(--text-base);font-weight:500;color:var(--color-text-secondary)}.monthly-costs-filters .filter-group select{padding:var(--space-sm) var(--space-md);border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-base);min-width:200px}.monthly-costs-filters .filter-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px #00d1ff33}.monthly-costs-grid-container{overflow:hidden}.monthly-costs-grid-container .grid-title{font-size:var(--text-xl);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-md) 0;padding-bottom:var(--space-md);border-bottom:1px solid var(--color-border)}.monthly-costs-table-wrapper{overflow:auto;max-width:100%;max-height:70vh}.monthly-costs-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-base)}.monthly-costs-table th,.monthly-costs-table td{padding:var(--space-md) var(--space-sm);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.monthly-costs-table th{background-color:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary);position:sticky;top:0;z-index:1;box-shadow:0 1px 0 var(--color-border)}.monthly-costs-table .sticky-col{position:sticky;left:0;z-index:2;background-color:var(--color-bg-base)}.monthly-costs-table th.sticky-col{z-index:3;background-color:var(--color-bg-elevated)}.monthly-costs-table .employee-col{min-width:200px;max-width:250px}.monthly-costs-table .month-col{min-width:90px;text-align:right}.monthly-costs-table .sum-col{min-width:100px;text-align:right;background-color:var(--color-bg-surface);font-weight:600}.monthly-costs-table .number{text-align:right;font-variant-numeric:tabular-nums}.monthly-costs-table .total-cell,.monthly-costs-table .total-cell strong{color:var(--brand-pink)!important}.monthly-costs-table .employee-name{font-weight:500;color:var(--color-text-primary)}.monthly-costs-table .employee-role{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:2px}.monthly-costs-table .inactive{color:var(--color-text-muted);background-color:var(--color-bg-elevated)}.monthly-costs-table tfoot .totals-row{background-color:var(--color-bg-surface)}.monthly-costs-table tfoot .totals-row td{border-top:2px solid var(--color-border);border-bottom:none;padding-top:var(--space-md);padding-bottom:var(--space-md);font-weight:600}.monthly-costs-table tfoot .totals-row .sticky-col{background-color:var(--color-bg-surface)}.monthly-costs-table .grand-total{background-color:var(--color-primary);color:#fff;border-radius:var(--radius-sm)}.monthly-costs-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center}.monthly-costs-page .empty-state .empty-icon{font-size:3rem;margin-bottom:var(--space-md)}.monthly-costs-page .empty-state h3{font-size:var(--text-lg);font-weight:500;color:var(--color-text-secondary);margin:0}@media(max-width:768px){.monthly-costs-filters .filter-row{flex-direction:column;align-items:stretch}.monthly-costs-filters .filter-group{min-width:100%}.monthly-costs-filters .filter-group select{width:100%;min-width:auto}.monthly-costs-table .employee-col{min-width:150px}.monthly-costs-table .month-col{min-width:70px}}.monthly-costs-page.animate-fadeIn{animation:fadeIn .3s ease-out}.allocation-page{min-height:calc(100vh - var(--header-height) - 2 * var(--space-xl))}.allocation-content{animation:fadeIn .2s ease}.allocation-no-access{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;text-align:center;color:var(--color-text-muted)}.allocation-no-access-icon{font-size:3rem;margin-bottom:var(--space-md)}.allocation-no-access h2{color:var(--color-text-primary);margin-bottom:var(--space-sm)}.layout.allocation-active .nav-tab.active{color:var(--brand-allocation);border-bottom-color:var(--brand-allocation)}.layout.allocation-active .nav-tab:hover{color:var(--brand-allocation)}.allocation-button{display:flex;align-items:center;padding:var(--space-sm) var(--space-md);background:transparent;border:1px solid var(--brand-allocation);border-radius:var(--radius-md);color:var(--brand-allocation);font-weight:500;font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);text-decoration:none}.allocation-button:hover{background:#00815d26;color:var(--brand-allocation);border-color:var(--brand-allocation)}.allocation-button.active{background:#00815d33;color:var(--brand-allocation);border-color:var(--brand-allocation)}.layout.allocation-active .page-title{color:var(--brand-allocation)}.allocation-page .badge-primary,.allocation-page .tag-primary{background:#00815d26;color:var(--brand-allocation)}.allocation-page .btn-primary{background:var(--brand-allocation);border-color:var(--brand-allocation);color:#fff}.allocation-page .btn-primary:hover{background:var(--brand-allocation-light);border-color:var(--brand-allocation-light)}.allocation-page input:focus,.allocation-page select:focus,.allocation-page textarea:focus{border-color:var(--brand-allocation);box-shadow:0 0 0 3px #00815d33}.allocation-page .tab.active{color:var(--brand-allocation);border-bottom-color:var(--brand-allocation)}.allocation-page .table tbody tr:hover{background:#00815d0d}.allocation-page .progress-fill{background:var(--brand-allocation)}.allocation-filters{display:flex;gap:var(--space-lg);margin-bottom:var(--space-xl);padding:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-lg)}.allocation-filters .filter-group{display:flex;flex-direction:column;gap:var(--space-xs)}.allocation-filters .filter-group label{font-size:var(--text-sm);color:var(--color-text-secondary)}.allocation-filters .form-select{min-width:200px}.view-toggle{display:flex;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.view-toggle-btn{padding:var(--space-xs) var(--space-md);background:var(--color-bg-surface);border:none;color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.view-toggle-btn:not(:last-child){border-right:1px solid var(--color-border)}.view-toggle-btn:hover:not(:disabled){background:var(--color-bg-tertiary);color:var(--color-text-primary)}.view-toggle-btn.active{background:var(--brand-allocation);color:#fff}.view-toggle-btn:disabled{opacity:.5;cursor:not-allowed}.working-hours-summary{margin-bottom:var(--space-xl);padding:var(--space-lg);background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.working-hours-summary h3{margin-bottom:var(--space-md);color:var(--brand-allocation);font-size:var(--text-lg)}.working-hours-grid{display:grid;grid-template-columns:200px repeat(12,90px) 100px;gap:var(--space-xs);font-size:var(--text-sm)}.working-hours-grid .wh-header,.working-hours-grid .wh-label{font-weight:600;color:var(--color-text-secondary);padding:var(--space-xs)}.working-hours-grid .wh-month,.working-hours-grid .wh-value{text-align:center;padding:var(--space-xs);background:var(--color-bg-surface);border-radius:var(--radius-sm)}.working-hours-grid .wh-total{font-weight:600;text-align:center;padding:var(--space-xs)}.working-hours-grid .wh-total-value{font-weight:600;background:#00815d1a;color:var(--brand-allocation)}.working-hours-grid .wh-editable{display:flex;align-items:center;justify-content:center;gap:2px;padding:var(--space-xs)}.working-hours-grid .wh-input{width:50px;padding:2px 4px;text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-sm)}.working-hours-grid .wh-input:focus{border-color:var(--brand-allocation);outline:none;box-shadow:0 0 0 2px #00815d33}.working-hours-grid .wh-unit{font-size:var(--text-xs);color:var(--color-text-muted)}.working-hours-grid .wh-calculated{font-weight:500;color:var(--brand-allocation)}.allocation-table-container{overflow:auto;background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);max-height:calc(100vh - 350px);min-height:600px}.allocation-table{width:auto;min-width:100%;table-layout:fixed;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.allocation-table th,.allocation-table td{padding:var(--space-sm);border-bottom:1px solid var(--color-border);text-align:center}.allocation-table th{background:var(--color-bg-surface);font-weight:600;color:var(--color-text-secondary);position:sticky;top:0;z-index:10}.allocation-table .employee-col{text-align:left;width:200px;min-width:200px;max-width:200px;position:sticky;left:0;background:var(--color-bg-elevated);z-index:20;border-right:2px solid var(--color-border)}.allocation-table th.employee-col{background:var(--color-bg-surface);z-index:30}.allocation-table .month-col{width:90px;min-width:90px;max-width:90px}.allocation-table .total-col{width:100px;min-width:100px;max-width:100px;background:#00815d0d;font-weight:600;position:sticky;right:0;z-index:5}.allocation-table th.total-col{z-index:15}.allocation-table tbody tr:hover{background:#00815d08}.allocation-table tbody tr:hover .employee-col{background:#00815d0d}.allocation-table tbody tr:hover .total-col{background:#00815d14}.employee-info{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.employee-name{font-weight:500;color:var(--color-text-primary);display:inline-flex;align-items:center;gap:var(--space-xs)}.employee-role{font-size:var(--text-xs);color:var(--color-text-muted)}.allocation-cell{display:flex;flex-direction:column;align-items:center;gap:2px;position:relative}.allocation-input{width:60px;padding:var(--space-xs);text-align:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-sm)}.allocation-input:focus{border-color:var(--brand-allocation);outline:none;box-shadow:0 0 0 2px #00815d33}.allocation-input.non-billable,.rate-input.non-billable{background:var(--color-bg-tertiary);color:var(--color-text-muted);font-style:italic}.allocation-input.non-billable::placeholder,.rate-input.non-billable::placeholder{color:var(--color-text-muted);opacity:.6}.allocation-hours{font-size:var(--text-xs);color:var(--color-text-muted)}.allocation-cell.allocation-high{background:var(--allocation-high-bg);border-radius:var(--radius-sm)}.allocation-cell.allocation-high .allocation-input{border-color:var(--allocation-high);background:#22c55e14}.allocation-cell.allocation-high .allocation-hours{color:var(--allocation-high);font-weight:500}.allocation-cell.allocation-medium{background:var(--allocation-medium-bg);border-radius:var(--radius-sm)}.allocation-cell.allocation-medium .allocation-input{border-color:var(--allocation-medium);background:#eab30814}.allocation-cell.allocation-medium .allocation-hours{color:#a16207;font-weight:500}.allocation-cell.allocation-low{background:var(--allocation-low-bg);border-radius:var(--radius-sm)}.allocation-cell.allocation-low .allocation-input{border-color:var(--allocation-low);background:#f9731614}.allocation-cell.allocation-low .allocation-hours{color:var(--allocation-low);font-weight:500}.allocation-cell.allocation-minimal{background:var(--allocation-minimal-bg);border-radius:var(--radius-sm)}.allocation-cell.allocation-minimal .allocation-input{border-color:var(--allocation-minimal);background:#9ca3af0f}.allocation-cell.allocation-minimal .allocation-hours{color:var(--allocation-minimal)}.allocation-cell.allocation-inactive{background:var(--color-bg-muted, #f3f4f6);border-radius:var(--radius-sm);cursor:not-allowed;opacity:.6;min-height:50px;display:flex;align-items:center;justify-content:center}.allocation-inactive-text{color:var(--color-text-tertiary, #9ca3af);font-size:var(--text-sm);font-style:italic}.fill-handle-wrapper{position:relative}.fill-handle{position:absolute;bottom:2px;right:2px;width:8px;height:8px;background:var(--brand-allocation, #00815d);border:1px solid var(--color-bg-surface, #fff);cursor:crosshair;opacity:0;transition:opacity .15s ease;z-index:5;pointer-events:auto}.fill-handle-wrapper:hover .fill-handle{opacity:1}.fill-preview{outline:2px dashed var(--brand-allocation, #00815d)!important;outline-offset:-2px;background:#00815d14!important}.fill-source{outline:2px solid var(--brand-allocation, #00815d)!important;outline-offset:-2px}body.fill-dragging,body.fill-dragging *{cursor:crosshair!important;-webkit-user-select:none!important;user-select:none!important}.allocation-legend{display:flex;gap:var(--space-lg);margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);font-size:var(--text-sm)}.allocation-legend-item{display:flex;align-items:center;gap:var(--space-xs)}.allocation-legend-color{width:12px;height:12px;border-radius:2px}.allocation-legend-color.high{background:var(--allocation-high)}.allocation-legend-color.medium{background:var(--allocation-medium)}.allocation-legend-color.low{background:var(--allocation-low)}.allocation-legend-color.minimal{background:var(--allocation-minimal)}.revenue-summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-lg);margin-bottom:var(--space-xl)}.summary-card{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.summary-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.summary-value{font-size:var(--text-2xl);font-weight:600;color:var(--brand-allocation)}.revenue-table-container{overflow:auto;background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);max-height:calc(100vh - 350px);min-height:600px}.revenue-table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--text-sm)}.revenue-table th,.revenue-table td{padding:var(--space-sm);border-bottom:1px solid var(--color-border);text-align:center}.revenue-table th{background:var(--color-bg-surface);font-weight:600;color:var(--color-text-secondary);position:sticky;top:0;z-index:10}.revenue-table .employee-col{text-align:left;min-width:180px;position:sticky;left:0;background:var(--color-bg-elevated);z-index:20;border-right:1px solid var(--color-border)}.revenue-table th.employee-col{background:var(--color-bg-surface);z-index:30}.revenue-table .rate-col{min-width:100px;position:sticky;left:180px;background:var(--color-bg-elevated);z-index:20;border-right:2px solid var(--color-border)}.revenue-table th.rate-col{background:var(--color-bg-surface);z-index:30}.revenue-table .month-col{min-width:80px}.revenue-table .total-col{min-width:100px;background:#00815d0d;position:sticky;right:0;z-index:5}.revenue-table th.total-col{z-index:15}.revenue-table tbody tr:hover{background:#00815d08}.revenue-table tbody tr:hover .employee-col,.revenue-table tbody tr:hover .rate-col{background:#00815d0d}.revenue-table tbody tr:hover .total-col{background:#00815d14}.revenue-table .rate-editable{padding:var(--space-xs)}.revenue-table .rate-input{width:80px;padding:4px 8px;text-align:right;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-sm)}.revenue-table .rate-input:focus{border-color:var(--brand-allocation);outline:none;box-shadow:0 0 0 2px #00815d33}.save-status{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;margin-right:var(--space-sm)}.save-status.saving{color:var(--color-text-muted);background:var(--color-bg-surface)}.save-status.success{color:var(--brand-allocation);background:#00815d1a;animation:fadeIn .2s ease-in-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.revenue-table tfoot .totals-row{background:#00815d14;font-weight:600;position:sticky;bottom:0;z-index:10}.revenue-table tfoot .totals-row td{border-top:2px solid var(--brand-allocation);background:#00815d14}.revenue-table tfoot .totals-row .employee-col,.revenue-table tfoot .totals-row .rate-col{z-index:25}.revenue-table tfoot .totals-row .total-col{z-index:15;background:#00815d1f}.revenue-cell{display:flex;flex-direction:column;align-items:center;gap:2px}.revenue-cell.total{font-weight:600}.revenue-value{color:var(--color-text-primary)}.revenue-value.grand-total{color:var(--brand-allocation);font-size:var(--text-base)}.revenue-hours{font-size:var(--text-xs);color:var(--color-text-muted)}.result-cell{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:var(--text-xs)}.result-cell.total{font-weight:500}.result-cell.grand-total{font-weight:600}.result-revenue{color:var(--brand-allocation)}.result-cost{color:var(--color-text-muted);font-size:.65rem}.result-value{font-weight:600}.result-value.positive{color:var(--allocation-high)}.result-value.negative{color:#dc2626}.result-margin{font-size:.65rem;font-weight:500;padding:1px 4px;border-radius:2px}.result-margin.margin-good{color:var(--allocation-high);background:var(--allocation-high-bg)}.result-margin.margin-ok{color:var(--allocation-medium);background:var(--allocation-medium-bg)}.result-margin.margin-low{color:var(--allocation-low);background:var(--allocation-low-bg)}.result-margin.margin-negative{color:#dc2626;background:#dc26261a}.summary-value.positive{color:var(--allocation-high)}.summary-value.negative{color:#dc2626}.summary-value.margin-good{color:var(--allocation-high)}.summary-value.margin-ok{color:var(--allocation-medium)}.summary-value.margin-low{color:var(--allocation-low)}.summary-value.margin-negative{color:#dc2626}.result-table .rate-col:nth-child(2){left:180px}.result-table .rate-col:nth-child(3){left:280px;border-right:2px solid var(--color-border)}.result-table th.rate-col:nth-child(3){background:var(--color-bg-surface)}.subcontractor-name{display:inline-flex;align-items:center;gap:var(--space-xs);font-weight:500}.ic-badge{display:inline-block;margin-left:var(--space-xs);padding:1px 4px;font-size:.6rem;font-weight:600;color:var(--brand-allocation);background:#00815d1a;border-radius:2px;vertical-align:middle}.pivot-table-container{overflow-x:auto;overflow-y:auto;background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);max-height:calc(100vh - 280px);min-height:500px}.pivot-table{border-collapse:separate;border-spacing:0;font-size:var(--text-sm);white-space:nowrap}.pivot-table th,.pivot-table td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border);text-align:right}.pivot-table .name-col.sticky-col{position:sticky;left:0;z-index:20;background:var(--color-bg-elevated);text-align:left;min-width:160px;white-space:nowrap;border-right:2px solid var(--color-border)}.pivot-table thead .name-col.sticky-col{background:var(--color-bg-surface);z-index:30}.pivot-table tfoot .name-col.sticky-col{background:#253530;z-index:25}.pivot-table .month-header-row th{background:var(--color-bg-surface);position:sticky;top:0;z-index:10;font-weight:600;text-align:center;border-bottom:1px solid var(--color-border)}.pivot-table .month-group-header{border-left:2px solid var(--color-border)}.pivot-table .month-group-header:nth-of-type(odd){background:#00000005}.pivot-table .total-group-header{background:#00815d1f;border-left:3px solid var(--brand-allocation);border-right:3px solid var(--brand-allocation)}.pivot-table .metric-header-row th{background:var(--color-bg-tertiary);position:sticky;top:29px;z-index:10;font-size:var(--text-xs);font-weight:500;color:var(--color-text-secondary);text-align:right;padding:2px var(--space-xs)}.pivot-table .metric-header-row .total-metric{background:#00815d1a}.pivot-table .metric-header-row .total-metric:nth-child(6){border-right:3px solid var(--brand-allocation)}.pivot-table .metric-col{min-width:55px;max-width:70px;font-size:var(--text-xs)}.pivot-table .total-metric{background:#00815d0f;font-weight:600}.pivot-table .total-metric:last-of-type,.pivot-table td.total-metric:nth-child(6){border-right:3px solid var(--brand-allocation)}.pivot-table .total-group-header{position:sticky;left:160px;z-index:25;background:#00815d1f;border-left:3px solid var(--brand-allocation);border-right:3px solid var(--brand-allocation)}.pivot-table tbody td:nth-child(5n+7){border-left:2px solid var(--color-border)}.pivot-table .metric-header-row th:nth-child(5n+7){border-left:2px solid var(--color-border)}.pivot-table .metric-header-row .metric-col:nth-last-child(-n+4){border-left:2px solid var(--brand-allocation)}.pivot-table tbody td.total-metric:first-of-type{border-left:3px solid var(--brand-allocation)}.pivot-table .revenue-val{color:var(--brand-allocation)}.pivot-table .cost-val{color:var(--color-text-muted)}.pivot-table .result-val{font-weight:600}.pivot-table .result-val.positive{color:var(--allocation-high)}.pivot-table .result-val.negative{color:#dc2626}.pivot-table .margin-val{font-size:.65rem;padding:1px 3px;border-radius:2px}.pivot-table .margin-val.margin-good{color:var(--allocation-high);background:var(--allocation-high-bg)}.pivot-table .margin-val.margin-ok{color:var(--allocation-medium);background:var(--allocation-medium-bg)}.pivot-table .margin-val.margin-low{color:var(--allocation-low);background:var(--allocation-low-bg)}.pivot-table .margin-val.margin-negative{color:#dc2626;background:#dc26261a}.pivot-table tbody tr:hover{background:#00815d08}.pivot-table tbody tr:hover .sticky-col{background:#00815d0d}.pivot-table tbody tr:hover .total-metric{background:#00815d14}.pivot-table tfoot .totals-row td{background:#253530;font-weight:600;border-top:2px solid var(--brand-allocation);position:sticky;bottom:0;z-index:5}.pivot-table tfoot .totals-row .total-metric{background:#1e4035}.pivot-table tfoot .totals-row td:nth-child(5n+7){border-left:2px solid var(--color-border)}.pivot-table tfoot .totals-row td:nth-child(6){border-right:3px solid var(--brand-allocation)}.pivot-table .revenue-val>span{display:block;width:100%;cursor:help}.tooltip-portal:has(.project-breakdown-tooltip){min-width:320px;max-width:none;background:var(--color-bg-elevated, #242422);border:1px solid var(--color-border);box-shadow:0 8px 32px #00000080}.project-breakdown-tooltip .tooltip-title{display:block;font-weight:600;color:var(--color-text-secondary);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-xs);padding-bottom:var(--space-xs);border-bottom:1px solid var(--color-border)}.project-breakdown-table{width:100%;border-collapse:collapse;font-size:var(--text-xs)}.project-breakdown-table th{text-align:left;padding:var(--space-xs) var(--space-md);color:var(--color-text-muted);font-weight:500;border-bottom:1px solid var(--color-border);white-space:nowrap}.project-breakdown-table th.numeric{text-align:right}.project-breakdown-table td{padding:var(--space-xs) var(--space-md);color:var(--color-text-primary);white-space:nowrap}.project-breakdown-table td.numeric{text-align:right;font-family:var(--font-mono)}.project-breakdown-table tbody tr:not(:last-child) td{border-bottom:1px solid var(--color-border-subtle, rgba(0,0,0,.05))}.project-breakdown-table tfoot td{padding:var(--space-sm) var(--space-md);border-top:1px solid var(--color-border);font-weight:600}.allocation-overview-page .empty-state,.allocation-revenue-page .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-2xl);text-align:center;color:var(--color-text-muted)}.pivot-table .client-row{cursor:pointer;transition:background-color .15s ease}.pivot-table .client-row:hover{background:#00815d0d}.pivot-table .client-row.expanded{background:#00815d14}.pivot-table .client-row.expanded td{border-bottom-color:transparent}.pivot-table .project-row{background:var(--color-bg-surface)}.pivot-table .project-row:hover{background:#00000008}.pivot-table .project-row td{font-size:var(--text-xs);color:var(--color-text-secondary)}.pivot-table .project-row .name-col.sticky-col{background:var(--color-bg-surface)}.customer-cell{display:flex;flex-direction:column;gap:2px}.customer-name{font-weight:500;color:var(--color-text-primary)}.expand-indicator{font-size:var(--text-xs);color:var(--color-text-muted);display:flex;align-items:center;gap:4px}.client-row:hover .expand-indicator,.client-row.expanded .expand-indicator{color:var(--brand-allocation)}.expand-icon{display:inline-block;width:16px;margin-right:var(--space-xs);font-size:.65rem;color:var(--color-text-muted);transition:transform .15s ease}.client-row.expanded .expand-icon{color:var(--brand-allocation)}.project-indent{padding-left:var(--space-md)}.project-name{font-style:italic;color:var(--color-text-secondary)}.inactive-badge{display:inline-block;margin-left:var(--space-xs);padding:1px 4px;font-size:.6rem;font-weight:500;color:var(--color-text-muted);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:2px;vertical-align:middle}.search-group{flex:1;max-width:250px}.search-input{width:100%;padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-sm)}.search-input:focus{outline:none;border-color:var(--brand-allocation);box-shadow:0 0 0 2px #00815d26}.search-input::placeholder{color:var(--color-text-muted)}.margin-rankings{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);margin-bottom:var(--space-lg)}.ranking-card{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md)}.ranking-card.ranking-top{border-left:3px solid var(--allocation-high)}.ranking-card.ranking-bottom{border-left:3px solid #dc2626}.ranking-title{font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--space-sm) 0;text-transform:uppercase;letter-spacing:.5px}.ranking-list{display:flex;flex-direction:column;gap:var(--space-xs)}.ranking-item{display:grid;grid-template-columns:24px 1fr auto auto;gap:var(--space-sm);align-items:center;padding:var(--space-xs) 0;border-bottom:1px solid var(--color-border-light)}.ranking-item:last-child{border-bottom:none}.ranking-position{font-weight:600;color:var(--color-text-muted);font-size:var(--text-sm)}.ranking-name{font-size:var(--text-sm);color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ranking-margin{font-weight:600;font-size:var(--text-sm);min-width:50px;text-align:right}.ranking-revenue{font-size:var(--text-xs);color:var(--color-text-muted);min-width:60px;text-align:right}@media(max-width:768px){.margin-rankings{grid-template-columns:1fr}}.hours-val{color:var(--color-text-secondary)}.checkbox-label{display:flex;align-items:center;gap:var(--space-xs);cursor:pointer;margin-top:var(--space-md);font-size:var(--text-sm);color:var(--color-text-secondary)}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--brand-allocation)}@media(max-width:768px){.allocation-button{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}.allocation-filters{flex-direction:column}.working-hours-grid{grid-template-columns:120px repeat(12,60px) 60px;font-size:var(--text-xs)}.allocation-table .employee-col{width:120px;min-width:120px;max-width:120px}.allocation-table .month-col,.allocation-table .total-col{width:60px;min-width:60px;max-width:60px}.revenue-summary-cards{grid-template-columns:1fr}}.allocation-summary-card{margin-bottom:var(--space-lg);overflow:hidden}.allocation-summary-card.is-expanded{box-shadow:0 4px 12px #00000026}.allocation-summary-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:var(--space-md) var(--space-lg);background:var(--color-bg-elevated);border:none;cursor:pointer;transition:background-color var(--transition-fast)}.allocation-summary-header:hover{background:var(--color-bg-hover)}.allocation-summary-title{display:flex;align-items:center;gap:var(--space-sm)}.allocation-summary-icon{font-size:1.25rem}.allocation-summary-title h3{margin:0;font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary)}.allocation-summary-chevron{font-size:.75rem;color:var(--color-text-secondary);transition:transform var(--transition-fast)}.allocation-summary-chevron.expanded{transform:rotate(180deg)}.allocation-summary-content{padding:var(--space-lg);border-top:1px solid var(--color-border);background:var(--color-bg-surface);animation:slideDown .2s ease-out}.allocation-summary-loading,.allocation-summary-empty{display:flex;align-items:center;justify-content:center;padding:var(--space-xl);color:var(--color-text-muted)}.allocation-summary-table-wrapper{overflow-x:auto}.allocation-summary-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.allocation-summary-table th,.allocation-summary-table td{padding:var(--space-sm);border-bottom:1px solid var(--color-border)}.allocation-summary-table th{font-weight:600;color:var(--color-text-secondary);text-align:center;background:var(--color-bg-tertiary);white-space:nowrap}.allocation-summary-table th.label-col{text-align:left;width:var(--fin-label-total);min-width:var(--fin-label-total);position:sticky;left:0;background:var(--color-bg-tertiary);z-index:1}.allocation-summary-table td.label-col{text-align:left;width:var(--fin-label-total);min-width:var(--fin-label-total);font-weight:500;color:var(--color-text-primary);white-space:nowrap;position:sticky;left:0;background:var(--color-bg-surface);z-index:1}.allocation-summary-table .month-col{width:var(--fin-month-col);min-width:var(--fin-month-col);text-align:right}.allocation-summary-table .total-col{width:var(--fin-total-col);min-width:var(--fin-total-col);text-align:right;font-weight:600;background:#00815d0d}.allocation-summary-table th.total-col{background:#00815d1a}.allocation-summary-table td.number{font-family:var(--font-mono, "SF Mono", "Monaco", "Inconsolata", "Roboto Mono", monospace);color:var(--color-text-secondary)}.allocation-summary-table tr.revenue-row td.label-col{color:var(--brand-allocation, #00815D)}.allocation-summary-table tr.cost-row td.label-col{color:var(--color-error, #f87171)}.allocation-summary-table tbody tr:hover,.allocation-summary-table tbody tr:hover td.label-col{background:var(--color-bg-hover)}@media(max-width:768px){.allocation-summary-header{padding:var(--space-sm) var(--space-md)}.allocation-summary-content{padding:var(--space-md)}.allocation-summary-table{font-size:var(--text-xs)}.allocation-summary-table th.label-col,.allocation-summary-table td.label-col{width:160px;min-width:140px}.allocation-summary-table .month-col{width:60px;min-width:55px}.allocation-summary-table .total-col{width:80px;min-width:70px}}.categories-container.split-view-active{display:flex;flex-direction:column;height:calc(100vh - var(--header-height, 64px) - var(--space-lg) * 2);overflow:hidden}.split-view-active>.allocation-summary-card{flex-shrink:0;margin-bottom:0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:2px solid var(--brand-allocation, #00815D)}.split-view-active>.scrollable-content{flex:1;overflow-y:auto;overflow-x:hidden;padding-top:var(--space-lg);background:linear-gradient(to bottom,var(--color-bg-base) 0%,transparent 20px)}.split-view-active>.scrollable-content>.kpi-section{margin-bottom:var(--space-xl)}.split-view-active>.scrollable-content>.category-section{margin-bottom:var(--space-lg)}@media(max-width:768px){.categories-container.split-view-active{height:calc(100vh - var(--header-height-mobile, 56px) - var(--space-md) * 2)}}.allocation-comment{margin-top:4px}.allocation-comment-input{width:100%;padding:2px 6px;font-size:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);background:transparent}.allocation-comment-input:focus{border-color:var(--color-primary);outline:none}.allocation-comment-input::placeholder{color:var(--color-text-muted);font-style:italic}.allocation-comment.read-only .allocation-comment-text{font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.snapshot-banner{background:var(--color-info-bg);border:1px solid var(--color-info);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);margin-bottom:var(--space-md);display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm)}.snapshot-info{display:flex;flex-direction:column;gap:2px}.snapshot-created-by{color:var(--color-text-muted);font-size:var(--text-xs)}.snapshot-global-comment{color:var(--color-text-secondary);font-style:italic;margin:0;flex:1}.snapshot-actions{display:flex;gap:var(--space-xs);flex-shrink:0}.allocation-value-readonly{font-size:.85rem;font-weight:500;text-align:center}.allocation-comment-readonly{font-size:.75rem;color:var(--color-text-secondary);font-style:italic}.reports-tabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-lg);border-bottom:2px solid var(--color-border)}.reports-tab{position:relative;padding:var(--space-sm) var(--space-lg);background:transparent;border:none;border-radius:var(--radius-md) var(--radius-md) 0 0;color:var(--color-text-muted);font-family:var(--font-sans);font-size:var(--text-base);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.reports-tab:hover:not(.active){color:var(--color-text-primary);background:var(--color-bg-surface)}.reports-tab.active{color:var(--color-primary);background:var(--color-primary-container);margin-bottom:-2px;border-bottom:2px solid var(--color-primary)}.harvest-report-controls{display:flex;gap:var(--space-md);align-items:flex-start;flex-wrap:wrap;margin-bottom:var(--space-lg)}.harvest-report-control--company{min-width:280px;flex:1;max-width:400px}.harvest-report-control--manager{min-width:200px;max-width:280px}.harvest-report-control--month{min-width:200px}.harvest-report-table-wrapper{margin-top:var(--space-lg);overflow-x:auto}.harvest-report-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.harvest-report-table th,.harvest-report-table td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border);text-align:left}.harvest-report-table th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-surface)}.harvest-report-table tfoot td{border-top:2px solid var(--color-border);font-weight:600}.harvest-report-table .text-right{text-align:right}.harvest-subtabs{display:flex;gap:var(--space-xs);margin-bottom:var(--space-lg)}.harvest-subtab{padding:var(--space-xs) var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.harvest-subtab:hover:not(.active){color:var(--color-text-primary);background:var(--color-bg-elevated)}.harvest-subtab.active{color:var(--color-primary);background:var(--color-primary-container);border-color:var(--color-primary)}.harvest-report-toolbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}.harvest-report-toolbar__group{display:flex;gap:2px;background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden}.harvest-report-toolbar__btn{padding:var(--space-xs) var(--space-sm);background:transparent;border:none;color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.harvest-report-toolbar__btn:hover:not(.active){background:var(--color-bg-elevated);color:var(--color-text-primary)}.harvest-report-toolbar__btn.active{background:var(--color-primary);color:#fff}.harvest-detail-table{width:100%;border-collapse:collapse;font-size:var(--text-sm);min-width:600px}.harvest-detail-table th,.harvest-detail-table td{padding:var(--space-xs) var(--space-sm);border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap}.harvest-detail-table-wrapper{margin-top:var(--space-md);max-height:75vh;overflow:auto;max-width:100%}.harvest-detail-table th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-surface);position:sticky;top:0;z-index:1}.harvest-detail-table .text-right{text-align:right}.harvest-detail-table__sticky-col{position:sticky;left:0;background:var(--color-bg-primary);z-index:2;min-width:150px}.harvest-detail-table__sticky-col2{position:sticky;left:150px;background:var(--color-bg-primary);z-index:2;min-width:120px}.harvest-detail-table thead .harvest-detail-table__sticky-col,.harvest-detail-table thead .harvest-detail-table__sticky-col2{background:var(--color-bg-surface);z-index:3}.harvest-detail-table__summary-col{background:var(--color-bg-surface);font-weight:500;border-left:2px solid var(--color-border)}.harvest-detail-table tfoot td{border-top:2px solid var(--color-border);font-weight:600}.harvest-detail-table tfoot .harvest-detail-table__sticky-col,.harvest-detail-table tfoot .harvest-detail-table__sticky-col2{background:var(--color-bg-primary)}.cf-toggle-group{display:flex;gap:0;background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);overflow:hidden}.cf-toggle-btn{padding:var(--space-xs) var(--space-md);background:transparent;border:none;color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.cf-toggle-btn:not(:last-child){border-right:1px solid var(--color-border)}.cf-toggle-btn:hover:not(.active){background:var(--color-bg-elevated);color:var(--color-text-primary)}.cf-toggle-btn.active{background:var(--color-primary);color:var(--color-on-primary);font-weight:600}.cf-kpi-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-md);margin-bottom:var(--space-xl)}.cf-kpi-card{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-md) var(--space-lg);background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);transition:border-color var(--transition-fast)}.cf-kpi-card:hover{border-color:var(--color-border-hover)}.cf-kpi-label{font-size:var(--text-sm);color:var(--color-text-secondary);font-weight:500}.cf-kpi-value-row{display:flex;align-items:baseline;gap:var(--space-sm)}.cf-kpi-value{font-size:var(--text-2xl);font-weight:600;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.cf-kpi-unit{font-size:var(--text-sm);color:var(--color-text-muted)}.cf-kpi-trend{display:inline-flex;align-items:center;gap:2px;font-size:var(--text-sm);font-weight:500}.cf-kpi-trend.up{color:var(--color-success)}.cf-kpi-trend.down{color:var(--color-error)}.cf-kpi-trend.flat{color:var(--color-text-muted)}.cf-kpi-sparkline{height:24px;margin-top:var(--space-xs)}.cf-kpi-sparkline svg{width:100%;height:100%}.cf-charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-lg);margin-bottom:var(--space-xl)}.cf-chart-card{background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);padding:var(--space-lg);min-height:320px}.cf-chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.cf-chart-title{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin:0}.cf-chart-body{height:260px;position:relative}@media(max-width:768px){.cf-charts-grid{grid-template-columns:1fr}.cf-chart-body{height:200px}}.cf-timeline-section{background:var(--color-bg-elevated);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--space-xl);overflow:hidden}.cf-timeline-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);cursor:pointer;transition:background-color var(--transition-fast)}.cf-timeline-header:hover{background:var(--color-bg-hover)}.cf-timeline-title{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary);margin:0}.cf-timeline-chevron{font-size:var(--text-sm);color:var(--color-text-secondary);transition:transform var(--transition-fast)}.cf-timeline-chevron.expanded{transform:rotate(180deg)}.cf-timeline-body{max-height:0;overflow:hidden;transition:max-height var(--transition-slow)}.cf-timeline-body.expanded{max-height:600px;overflow-y:auto}.cf-timeline-content{padding:var(--space-lg);border-top:1px solid var(--color-border)}.cf-timeline-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.cf-timeline-nav-btn{padding:var(--space-xs) var(--space-sm);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast)}.cf-timeline-nav-btn:hover:not(:disabled){background:var(--color-bg-elevated);color:var(--color-text-primary);border-color:var(--color-border-hover)}.cf-timeline-nav-btn:disabled{opacity:.4;cursor:not-allowed}.cf-timeline-person-name{font-size:var(--text-md);font-weight:600;color:var(--color-text-primary)}.cf-timeline-utilization-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-full, 9999px);background:var(--color-primary-bg, rgba(0, 209, 255, .12));color:var(--color-primary, #00D1FF);font-size:var(--text-sm);font-weight:600;margin-left:var(--space-xs)}.cf-timeline-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-md);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.cf-timeline-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary);border-color:var(--color-border-hover)}.cf-deviation-risk{color:var(--color-error);background:var(--color-error-bg);padding:2px 6px;border-radius:var(--radius-sm);font-weight:500}.cf-deviation-monitor{color:var(--color-warning);background:var(--color-warning-bg);padding:2px 6px;border-radius:var(--radius-sm);font-weight:500}.cf-deviation-onplan{color:var(--color-success);background:var(--color-success-bg);padding:2px 6px;border-radius:var(--radius-sm);font-weight:500}.cf-deviation-legend{display:flex;gap:var(--space-lg);margin-bottom:var(--space-md);padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);font-size:var(--text-sm)}.cf-deviation-legend-item{display:flex;align-items:center;gap:var(--space-xs)}.cf-deviation-legend-dot{width:10px;height:10px;border-radius:var(--radius-full)}.cf-deviation-legend-dot.risk{background:var(--color-error)}.cf-deviation-legend-dot.monitor{background:var(--color-warning)}.cf-deviation-legend-dot.onplan{background:var(--color-success)}.cf-manager-group{margin-bottom:var(--space-sm)}.cf-manager-header{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none}.cf-manager-header:hover{background:var(--color-bg-hover);border-color:var(--color-border-hover)}.cf-manager-chevron{font-size:var(--text-xs);color:var(--color-text-muted);transition:transform var(--transition-fast)}.cf-manager-chevron.expanded{transform:rotate(90deg)}.cf-manager-name{font-weight:600;font-size:var(--text-base);color:var(--color-text-primary)}.cf-manager-count{font-size:var(--text-sm);color:var(--color-text-muted);margin-left:auto}.cf-manager-body{max-height:0;overflow:hidden;transition:max-height var(--transition-slow)}.cf-manager-body.expanded{max-height:5000px}.cf-subtotal-row{background:var(--color-bg-surface);font-weight:600}.cf-subtotal-row td{border-top:2px solid var(--color-border);color:var(--color-text-secondary)}.cf-table-row{cursor:pointer;transition:background-color var(--transition-fast)}.cf-table-row:hover{background:#00d1ff0a}.cf-table-row.selected{background:var(--color-primary-container)}.cf-table-row.selected:hover{background:#00d1ff33}.cf-sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.cf-sortable:hover{color:var(--color-text-primary)}.cf-sort-icon{display:inline-block;margin-left:4px;font-size:var(--text-xs);color:var(--color-text-muted);transition:color var(--transition-fast)}.cf-sortable:hover .cf-sort-icon{color:var(--color-primary)}.cf-sort-icon.asc:after{content:"▲"}.cf-sort-icon.desc:after{content:"▼"}.cf-sort-icon.none:after{content:"▴"}.cf-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin-bottom:var(--space-md);flex-wrap:wrap}.cf-toolbar-left{display:flex;align-items:center;gap:var(--space-md)}.cf-toolbar-right{display:flex;align-items:center;gap:var(--space-sm)}@media(max-width:768px){.cf-kpi-cards{grid-template-columns:repeat(2,1fr)}.cf-kpi-card{padding:var(--space-sm) var(--space-md)}.cf-kpi-value{font-size:var(--text-xl)}.cf-deviation-legend{flex-wrap:wrap;gap:var(--space-sm)}.cf-toolbar{flex-direction:column;align-items:flex-start}.cf-timeline-nav{flex-direction:column;gap:var(--space-sm);align-items:stretch}}.comparison-dashboard{display:flex;flex-direction:column;gap:var(--spacing-xl, 2rem)}.comparison-kpi-section{background:var(--bg-primary, #fff);border-radius:var(--radius-lg, .75rem);border:1px solid var(--border-color, #e5e7eb);padding:var(--spacing-lg, 1.5rem)}.comparison-kpi-section .kpi-header{margin-bottom:var(--spacing-md, 1rem)}.comparison-kpi-section .kpi-title{font-size:var(--font-size-lg, 1.125rem);font-weight:600;color:var(--text-primary, #111827);margin:0}.comparison-kpi-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm, .875rem)}.comparison-kpi-table th{text-align:center;padding:var(--spacing-xs, .5rem) var(--spacing-sm, .75rem);font-weight:500;color:var(--text-secondary, #6b7280);border-bottom:2px solid var(--border-color, #e5e7eb);white-space:nowrap}.comparison-kpi-table .kpi-label-col{text-align:left;min-width:160px}.comparison-kpi-table .kpi-month-col{min-width:70px}.kpi-row-actual td{font-weight:600;color:var(--text-primary, #111827)}.kpi-row-comparison td{font-weight:400;color:var(--text-tertiary, #9ca3af);font-size:.8125rem}.kpi-group-first td{border-top:1px solid var(--border-color, #e5e7eb)}.comparison-kpi-table tbody tr:first-child.kpi-group-first td{border-top:none}.kpi-name{font-weight:600}.kpi-source-label{padding-left:var(--spacing-md, 1rem);font-style:italic;color:var(--text-tertiary, #9ca3af)}.comparison-kpi-table .kpi-value{text-align:right;padding:var(--spacing-xs, .5rem) var(--spacing-sm, .75rem);font-variant-numeric:tabular-nums}.comparison-kpi-table .kpi-label{text-align:left;padding:var(--spacing-xs, .5rem) var(--spacing-sm, .75rem)}.snapshot-section{background:var(--bg-primary, #fff);border-radius:var(--radius-lg, .75rem);border:1px solid var(--border-color, #e5e7eb);padding:var(--spacing-lg, 1.5rem)}.snapshot-header{display:flex;align-items:baseline;gap:var(--spacing-md, 1rem);margin-bottom:var(--spacing-md, 1rem)}.snapshot-title{font-size:var(--font-size-lg, 1.125rem);font-weight:600;color:var(--text-primary, #111827);margin:0}.snapshot-subtitle{font-size:var(--font-size-sm, .875rem);color:var(--text-secondary, #6b7280)}.snapshot-no-period{font-size:var(--font-size-sm, .875rem);margin-bottom:var(--spacing-sm, .75rem)}.snapshot-table-container{overflow-x:auto}.snapshot-table{width:100%;border-collapse:collapse;font-size:var(--font-size-sm, .875rem)}.snapshot-table th{padding:var(--spacing-xs, .5rem) var(--spacing-sm, .75rem);white-space:nowrap;font-weight:500}.snapshot-line-header{text-align:left;min-width:180px;font-weight:600!important;color:var(--text-primary, #111827);border-bottom:2px solid var(--border-color, #e5e7eb)}.snapshot-group-header{text-align:center;font-weight:600!important;color:var(--text-primary, #111827);border-bottom:1px solid var(--border-color, #e5e7eb)}.snapshot-group-header.period-group{background:var(--bg-blue-subtle, rgba(59, 130, 246, .05))}.snapshot-group-header.ytd-group{background:var(--bg-green-subtle, rgba(16, 185, 129, .05))}.snapshot-group-header.fy-group{background:var(--bg-purple-subtle, rgba(139, 92, 246, .05))}.snapshot-sub-header th{text-align:right;font-size:.75rem;color:var(--text-secondary, #6b7280);border-bottom:2px solid var(--border-color, #e5e7eb)}.snapshot-line-name{text-align:left;padding:var(--spacing-xs, .5rem) var(--spacing-sm, .75rem);white-space:nowrap}.snapshot-value{text-align:right;padding:var(--spacing-xs, .5rem) var(--spacing-sm, .75rem);font-variant-numeric:tabular-nums}.snapshot-row{border-bottom:1px solid var(--border-color-light, #f3f4f6)}.snapshot-subtotal{background:var(--bg-secondary, #f9fafb);border-bottom:2px solid var(--border-color, #e5e7eb)!important}.snapshot-subtotal td{font-weight:600}.snapshot-percentage{font-style:italic;color:var(--text-secondary, #6b7280)}.snapshot-percentage td{font-size:.8125rem}.comparison-detail-section{background:var(--bg-primary, #fff);border-radius:var(--radius-lg, .75rem);border:1px solid var(--border-color, #e5e7eb);padding:var(--spacing-lg, 1.5rem)}.comparison-detail-header{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-md, 1rem)}.comparison-detail-table{font-size:var(--font-size-sm, .875rem)}.category-summary-row{background:var(--bg-secondary, #f9fafb);transition:background-color .15s ease}.category-summary-row:hover{background:var(--bg-hover, #f3f4f6)}.category-summary-row td{padding:var(--spacing-sm, .75rem) var(--spacing-sm, .75rem);font-weight:600}.category-cell{display:flex;align-items:center;gap:var(--spacing-xs, .5rem);white-space:nowrap}.expand-icon{font-size:.625rem;width:1rem;display:inline-flex;justify-content:center;color:var(--text-secondary, #6b7280);transition:transform .15s ease}.account-detail-row td{padding:var(--spacing-xs, .5rem) var(--spacing-sm, .75rem);font-weight:400}.account-cell{padding-left:calc(var(--spacing-sm, .75rem) + 1.5rem)!important;color:var(--text-secondary, #6b7280)}.row-striped{background:var(--bg-tertiary, #fafafa)}.grand-total-row{border-top:3px double var(--border-color, #e5e7eb);background:var(--bg-secondary, #f9fafb)}.grand-total-row td{font-weight:700;padding:var(--spacing-sm, .75rem)}.grand-total-label{white-space:nowrap}.variance-cell-improved{text-align:right;vertical-align:middle;padding:var(--spacing-xs, .5rem) var(--spacing-sm, .75rem)!important}.variance-primary{display:block;font-weight:600;font-size:var(--font-size-sm, .875rem);line-height:1.2}.variance-secondary{display:block;font-size:.6875rem;color:var(--text-tertiary, #9ca3af);line-height:1.2;margin-top:1px}.trend-arrow{margin-right:2px}.variance-positive .variance-primary{color:var(--color-success, #059669)}.variance-negative .variance-primary{color:var(--color-danger, #dc2626)}.variance-positive .trend-arrow{color:var(--color-success, #059669)}.variance-negative .trend-arrow{color:var(--color-danger, #dc2626)}.snapshot-value.variance-positive{color:var(--color-success, #059669);font-weight:600}.snapshot-value.variance-negative{color:var(--color-danger, #dc2626);font-weight:600}.comparison-detail-table .value-cell.prior-year{color:var(--text-secondary, #6b7280);opacity:1}.col-separator{border-left:2px solid var(--border-color, #e5e7eb)}.income-statement-controls{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center;margin-bottom:var(--space-md);padding:var(--space-sm) 0}.income-statement-controls .MuiFormControl-root{min-width:140px}.income-statement-table-wrapper{overflow-x:auto;margin-top:var(--space-sm)}.income-statement-table{width:100%;border-collapse:collapse;font-size:.875rem}.income-statement-table th{background-color:var(--color-bg-surface);font-weight:600;text-align:right;padding:8px 12px;border-bottom:2px solid var(--color-border);white-space:nowrap;color:var(--color-text-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.03em}.income-statement-table th:first-child{text-align:left;position:sticky;left:0;z-index:1;background-color:var(--color-bg-surface);color:var(--color-text-secondary)}.income-statement-table td{padding:6px 12px;text-align:right;border-bottom:1px solid var(--color-border)}.income-statement-table td:first-child{text-align:left;position:sticky;left:0;z-index:1;background-color:inherit}.income-statement-table tbody tr:hover{background-color:var(--color-bg-hover)}.income-statement-row--subtotal{font-weight:700;border-top:2px solid var(--color-border)}.income-statement-row--subtotal td{border-bottom:2px solid var(--color-border)}.income-statement-row--margin{font-style:italic;color:var(--color-text-muted)}.income-statement-row--indent-1 td:first-child{padding-left:36px}.income-statement-row--indent-2 td:first-child{padding-left:60px}.income-statement-row--account td{padding:3px 12px 3px 36px;color:var(--color-text-muted);font-size:var(--text-sm);border-bottom:1px solid rgba(81,80,78,.4)}.income-statement-account-number{display:inline-block;width:52px;font-family:var(--font-mono);font-weight:600;color:var(--color-text-secondary)}.income-statement-cell--negative{color:var(--color-error)}.income-statement-ic-badge{font-size:.7em;vertical-align:super;color:var(--color-text-muted);margin-left:2px}.income-statement-row--expandable td:first-child{cursor:pointer;-webkit-user-select:none;user-select:none}.income-statement-row--expandable td:first-child:hover{color:var(--color-primary)}.income-statement-expand-icon{display:inline-block;width:16px;margin-right:4px;transition:transform var(--transition-fast);font-size:.75rem}.income-statement-expand-icon--collapsed{transform:rotate(-90deg)}.income-statement-detail-toggle{display:inline-flex;gap:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.income-statement-detail-toggle button{padding:4px 12px;border:none;background:transparent;cursor:pointer;font-size:var(--text-sm);color:var(--color-text-muted);border-right:1px solid var(--color-border);transition:background-color var(--transition-fast)}.income-statement-detail-toggle button:last-child{border-right:none}.income-statement-detail-toggle button:hover{background-color:var(--color-bg-hover)}.income-statement-detail-toggle button.active{background-color:var(--color-primary);color:var(--color-on-primary)}.income-statement-table th.income-statement-col--actual{color:var(--brand-cyan)}.income-statement-table th.income-statement-col--comparison{color:var(--brand-beige)}.income-statement-table th.income-statement-col--variance{color:var(--brand-yellow)}.widgets-tab{max-width:var(--container-3xl)}.widgets-grid{display:grid;gap:var(--space-lg);grid-template-columns:1fr;margin-bottom:var(--space-xl)}.widgets-tab .widget-card{position:relative;width:fit-content}.widget-download-btn{position:absolute;top:var(--space-sm);right:var(--space-sm);z-index:1}.widgets-tab .dashboard-results-table .col-organization{white-space:nowrap}.widgets-tab .widget-title{font-size:var(--text-md);font-weight:600;margin:0 0 var(--space-md) 0;color:var(--color-text-primary);padding-right:40px}.widget-period-selector{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0;padding:var(--space-md);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.widget-comparison-table{width:auto;border-collapse:collapse;font-size:var(--text-sm)}.widget-comparison-table th,.widget-comparison-table td{padding:var(--space-sm) var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.widget-comparison-table th{font-weight:600;color:var(--color-text-secondary);background:var(--color-bg-surface)}.widget-comparison-table .col-group-header{text-align:center;color:var(--brand-yellow);font-weight:700;border-bottom:2px solid var(--brand-yellow);font-size:var(--text-sm)}.widget-comparison-table .col-organization{white-space:nowrap}.widget-comparison-table .col-number{text-align:right;font-family:var(--font-mono);white-space:nowrap;font-size:var(--text-xs)}.widget-comparison-table .row-company{font-weight:600}.widget-comparison-table .row-business-unit{font-weight:400}.widget-comparison-table .business-unit-indent{color:var(--color-text-secondary);padding-left:var(--space-md)}.widget-comparison-table .company-name{color:var(--color-text-primary)}.widget-comparison-table .positive{color:var(--color-success)}.widget-comparison-table .negative{color:#ff6b6b}.widget-comparison-table tbody tr:hover{background:var(--color-bg-surface)}@media(max-width:900px){.widget-period-selector{flex-direction:column;align-items:flex-start}}.import-wizard-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-lg);animation:fadeIn .2s ease}.import-wizard{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-xl);width:100%;max-width:900px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease;box-shadow:var(--shadow-xl),0 0 60px #00d1ff1a}.import-wizard-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-lg) var(--space-xl);border-bottom:1px solid var(--color-border);background:var(--color-bg-surface)}.import-wizard-header h2{font-size:var(--text-xl);font-weight:600;margin:0;color:var(--color-text-primary)}.wizard-progress{display:flex;align-items:center;justify-content:center;padding:var(--space-lg) var(--space-xl);background:var(--color-bg-base);border-bottom:1px solid var(--color-border);gap:0}.wizard-step{display:flex;align-items:center;gap:var(--space-sm);position:relative}.wizard-step-indicator{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);font-weight:600;background:var(--color-bg-surface);border:2px solid var(--color-border);color:var(--color-text-muted);transition:all var(--transition-normal)}.wizard-step.active .wizard-step-indicator{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary);box-shadow:0 0 12px #00d1ff66}.wizard-step.completed .wizard-step-indicator{background:var(--color-success);border-color:var(--color-success);color:#fff}.wizard-step-check,.wizard-step-number{font-size:var(--text-sm)}.wizard-step-label{font-size:var(--text-sm);font-weight:500;color:var(--color-text-muted);transition:color var(--transition-fast)}.wizard-step.active .wizard-step-label{color:var(--color-primary)}.wizard-step.completed .wizard-step-label{color:var(--color-success)}.wizard-step-connector{width:60px;height:2px;background:var(--color-border);margin:0 var(--space-md);transition:background var(--transition-normal)}.wizard-step.completed+.wizard-step .wizard-step-connector,.wizard-step.completed .wizard-step-connector{background:var(--color-success)}.import-wizard-content{flex:1;overflow-y:auto;padding:var(--space-xl)}.wizard-error{display:flex;align-items:flex-start;gap:var(--space-sm);padding:var(--space-md);background:var(--color-error-bg);border:1px solid rgba(248,113,113,.3);border-radius:var(--radius-md);margin-bottom:var(--space-lg);color:var(--color-error);animation:slideDown .2s ease}.wizard-warning{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:var(--color-warning-bg);border:1px solid rgba(255,188,0,.3);border-radius:var(--radius-md);margin-bottom:var(--space-lg);color:var(--color-warning)}.warning-icon{font-size:1.25rem;flex-shrink:0}.step-upload{display:flex;flex-direction:column;gap:var(--space-lg)}.wizard-dropzone{border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-3xl) var(--space-xl);text-align:center;cursor:pointer;transition:all var(--transition-normal);background:var(--color-bg-surface)}.wizard-dropzone:hover:not(.loading){border-color:var(--color-primary);background:#00d1ff0d}.wizard-dropzone.dragging{border-color:var(--color-primary);background:#00d1ff1a;transform:scale(1.01)}.wizard-dropzone.loading{cursor:wait;opacity:.8}.dropzone-icon{color:var(--color-text-muted);margin-bottom:var(--space-md);transition:color var(--transition-fast)}.wizard-dropzone:hover:not(.loading) .dropzone-icon{color:var(--color-primary)}.dropzone-title{font-size:var(--text-lg);font-weight:600;color:var(--color-text-primary);margin:0 0 var(--space-sm) 0}.dropzone-subtitle{font-size:var(--text-base);color:var(--color-text-muted);margin:0}.dropzone-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.loading-spinner-large{width:48px;height:48px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.loading-text{font-size:var(--text-base);color:var(--color-text-secondary)}.step-upload-help{background:var(--color-bg-surface);border-radius:var(--radius-md);padding:var(--space-lg)}.step-upload-help h4{font-size:var(--text-base);font-weight:600;color:var(--color-text-secondary);margin:0 0 var(--space-sm) 0}.step-upload-help p{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-md) 0}.format-example{overflow-x:auto}.example-table{width:100%;font-size:var(--text-sm);border-collapse:collapse}.example-table th,.example-table td{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);text-align:center}.example-table th{background:var(--color-bg-elevated);font-weight:600;color:var(--color-text-secondary)}.example-table td{font-family:var(--font-mono);color:var(--color-text-primary)}.step-mapping{display:flex;flex-direction:column;gap:var(--space-lg)}.mapping-file-info{display:flex;align-items:center;gap:var(--space-lg);padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);flex-wrap:wrap}.file-info-item{display:flex;align-items:center;gap:var(--space-xs)}.file-info-label{font-size:var(--text-sm);color:var(--color-text-muted)}.file-info-value{font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary)}.confidence-badge{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:500;margin-left:auto}.confidence-badge.confidence-high{background:var(--color-success-bg);color:var(--color-success)}.confidence-badge.confidence-medium{background:var(--color-warning-bg);color:var(--color-warning)}.mapping-preview h4{font-size:var(--text-base);font-weight:600;margin:0 0 var(--space-sm) 0;color:var(--color-text-secondary)}.preview-table-wrapper{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:180px}.preview-table{width:100%;font-size:var(--text-sm);border-collapse:collapse;white-space:nowrap}.preview-table th,.preview-table td{padding:var(--space-xs) var(--space-sm);border:1px solid var(--color-border);text-align:left;max-width:120px;overflow:hidden;text-overflow:ellipsis}.preview-table th{background:var(--color-bg-surface);font-weight:600;color:var(--color-text-secondary);font-size:var(--text-xs);position:sticky;top:0}.preview-table td{font-family:var(--font-mono);font-size:var(--text-xs)}.preview-table th.selected-account,.preview-table td.selected-account{background:#00d1ff26;border-color:var(--color-primary)}.preview-table th.selected-month,.preview-table td.selected-month{background:#00815d26;border-color:var(--color-success)}.preview-table .more-cols{background:var(--color-bg-base);color:var(--color-text-muted);text-align:center;font-style:italic}.mapping-columns h4{font-size:var(--text-base);font-weight:600;margin:0 0 var(--space-md) 0;color:var(--color-text-secondary)}.mapping-section-box{background:var(--color-bg-surface);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-md)}.mapping-label{display:block;font-size:var(--text-sm);font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-sm)}.mapping-sublabel{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:calc(-1 * var(--space-xs));margin-bottom:var(--space-md)}.mapping-hint{font-size:var(--text-sm);margin-top:var(--space-sm)}.mapping-hint.warning{color:var(--color-warning)}.column-pills{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.column-pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.column-pill:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-text-primary)}.column-pill.selected-account{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-on-primary)}.column-pill.used{opacity:.4;cursor:not-allowed}.pill-check{font-size:var(--text-xs)}.quarters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-md)}.quarter-group{background:var(--color-bg-elevated);border-radius:var(--radius-md);padding:var(--space-sm)}.quarter-label{display:block;font-size:var(--text-xs);font-weight:700;color:var(--color-primary);text-align:center;margin-bottom:var(--space-sm);text-transform:uppercase;letter-spacing:.5px}.quarter-months{display:flex;flex-direction:column;gap:var(--space-xs)}.month-mapping{display:flex;align-items:center;gap:var(--space-xs)}.month-name{font-size:var(--text-sm);font-weight:500;color:var(--color-text-secondary);min-width:36px}.month-mapping select{flex:1;height:28px;padding:2px var(--space-sm);font-size:var(--text-xs)}.month-mapping select.has-value{border-color:var(--color-success);background:#00815d1a}.month-mapped-check{color:var(--color-success);font-size:var(--text-sm);font-weight:700}.mapping-summary-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);margin-top:var(--space-md)}.summary-item{font-size:var(--text-sm);font-weight:500}.summary-ok{color:var(--color-success);display:inline-flex;align-items:center;gap:var(--space-xs)}.summary-warning{color:var(--color-warning);display:inline-flex;align-items:center;gap:var(--space-xs)}.month-bulk-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-border)}.preview-table th:hover,.preview-table td:hover{background:#00d1ff14;cursor:pointer}.preview-table th.selected-account,.preview-table td.selected-account{animation:pulse-cyan .3s ease}.preview-table th.selected-month,.preview-table td.selected-month{animation:pulse-green .3s ease}@keyframes pulse-cyan{0%{background:#00d1ff4d}to{background:#00d1ff26}}@keyframes pulse-green{0%{background:#00815d4d}to{background:#00815d26}}.step-validate{display:flex;flex-direction:column;gap:var(--space-lg)}.validate-summary{margin-bottom:var(--space-md)}.summary-stats{display:flex;gap:var(--space-md)}.stat-card{flex:1;display:flex;flex-direction:column;align-items:center;padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);border:1px solid var(--color-border)}.stat-card.success{border-color:var(--color-success);background:var(--color-success-bg)}.stat-card.warning{border-color:var(--color-warning);background:var(--color-warning-bg)}.stat-card .stat-value{font-size:var(--text-2xl);font-weight:700;font-family:var(--font-mono)}.stat-card.success .stat-value{color:var(--color-success)}.stat-card.warning .stat-value{color:var(--color-warning)}.stat-card .stat-label{font-size:var(--text-sm);color:var(--color-text-secondary)}.validate-warning{padding:var(--space-lg);background:var(--color-warning-bg);border:1px solid rgba(255,188,0,.3);border-radius:var(--radius-md)}.validate-warning .warning-header{display:flex;gap:var(--space-md);align-items:flex-start}.warning-icon-large{font-size:2rem;flex-shrink:0}.validate-warning .warning-text h4{margin:0 0 var(--space-xs) 0;font-size:var(--text-base);font-weight:600;color:var(--color-warning)}.validate-warning .warning-text p{margin:0;font-size:var(--text-sm);color:var(--color-text-secondary)}.accounts-creation-section{background:var(--color-bg-surface);border-radius:var(--radius-md);padding:var(--space-lg)}.section-header h4{margin:0 0 var(--space-xs) 0;font-size:var(--text-base);font-weight:600}.section-description{font-size:var(--text-sm);color:var(--color-text-muted);margin:0 0 var(--space-md) 0}.no-categories-warning{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:var(--color-warning-bg);border-radius:var(--radius-sm);color:var(--color-warning)}.accounts-form{display:flex;flex-direction:column;gap:var(--space-xs)}.accounts-table-header{display:grid;grid-template-columns:100px 180px 1fr 24px;gap:var(--space-sm);padding:var(--space-sm);background:var(--color-bg-elevated);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:600;color:var(--color-text-secondary)}.accounts-table-body{display:flex;flex-direction:column;gap:var(--space-xs);max-height:min(400px,50vh);overflow-y:auto}.account-row{display:grid;grid-template-columns:100px 180px 1fr 24px;gap:var(--space-sm);align-items:center;padding:var(--space-sm);background:var(--color-bg-elevated);border-radius:var(--radius-sm);transition:background var(--transition-fast)}.account-row:hover{background:var(--color-bg-hover)}.account-number-display{font-family:var(--font-mono);font-weight:600;color:var(--color-primary)}.account-row select,.account-row input{height:32px;font-size:var(--text-sm)}.account-row select.empty,.account-row input.empty{border-color:var(--color-warning)}.row-check{color:var(--color-success);font-weight:700}.accounts-fill-status{padding:var(--space-sm);text-align:center;font-size:var(--text-sm)}.status-complete{color:var(--color-success);display:inline-flex;align-items:center;gap:var(--space-xs)}.status-incomplete{color:var(--color-text-muted)}.validate-actions{justify-content:space-between}.action-group{display:flex;gap:var(--space-sm)}.step-complete{display:flex;flex-direction:column;align-items:center;gap:var(--space-xl);padding:var(--space-xl) 0;text-align:center}.success-animation{margin-bottom:var(--space-md)}.success-checkmark{width:80px;height:80px;margin:0 auto}.check-icon{width:80px;height:80px;position:relative;border-radius:50%;box-sizing:content-box;border:4px solid var(--color-success);animation:success-circle .6s ease}.check-icon:before{top:3px;left:-2px;width:30px;transform-origin:100% 50%;border-radius:100px 0 0 100px}.check-icon:after{top:0;left:30px;width:60px;transform-origin:0 50%;border-radius:0 100px 100px 0;animation:rotate-circle 4.25s ease-in}.icon-line{height:5px;background-color:var(--color-success);display:block;border-radius:2px;position:absolute;z-index:10}.icon-line.line-tip{top:46px;left:14px;width:25px;transform:rotate(45deg);animation:icon-line-tip .75s ease}.icon-line.line-long{top:38px;right:8px;width:47px;transform:rotate(-45deg);animation:icon-line-long .75s ease}@keyframes success-circle{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}@keyframes icon-line-tip{0%{width:0;left:1px;top:19px}54%{width:0;left:1px;top:19px}70%{width:50px;left:-8px;top:37px}84%{width:17px;left:21px;top:48px}to{width:25px;left:14px;top:46px}}@keyframes icon-line-long{0%{width:0;right:46px;top:54px}65%{width:0;right:46px;top:54px}84%{width:55px;right:0;top:35px}to{width:47px;right:8px;top:38px}}.success-content{max-width:400px}.success-title{font-size:var(--text-2xl);font-weight:700;color:var(--color-success);margin:0 0 var(--space-sm) 0}.success-count{font-size:var(--text-lg);color:var(--color-text-secondary);margin:0}.import-warnings{width:100%;max-width:500px;background:var(--color-warning-bg);border:1px solid rgba(255,188,0,.3);border-radius:var(--radius-md);padding:var(--space-md);text-align:left}.warnings-title{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-base);font-weight:600;color:var(--color-warning);margin:0 0 var(--space-sm) 0}.warnings-list{margin:0;padding-left:var(--space-lg);font-size:var(--text-sm);color:var(--color-text-secondary)}.warnings-list li{margin-bottom:var(--space-xs)}.import-summary-card{width:100%;max-width:300px;background:var(--color-bg-surface);border-radius:var(--radius-md);padding:var(--space-md)}.summary-row{display:flex;justify-content:space-between;padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border)}.summary-row:last-child{border-bottom:none}.summary-row .summary-label{color:var(--color-text-secondary)}.summary-row .summary-value{font-weight:600;font-family:var(--font-mono)}.summary-row .summary-value.success{color:var(--color-success)}.summary-row .summary-value.warning{color:var(--color-warning)}.wizard-actions{display:flex;justify-content:flex-end;gap:var(--space-sm);padding-top:var(--space-lg);border-top:1px solid var(--color-border);margin-top:var(--space-lg)}.wizard-actions.centered{justify-content:center}.wizard-actions .btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--text-md)}@media(max-width:768px){.import-wizard{max-width:100%;max-height:100vh;border-radius:0}.wizard-progress{padding:var(--space-md);overflow-x:auto}.wizard-step-connector{width:30px;margin:0 var(--space-sm)}.wizard-step-label{display:none}.quarters-grid{grid-template-columns:repeat(2,1fr)}.accounts-table-header{display:none}.account-row{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md);background:var(--color-bg-elevated);border-radius:var(--radius-md);margin-bottom:var(--space-sm);border:1px solid var(--color-border);position:relative}.account-row .col-number{font-size:var(--text-lg);margin-bottom:var(--space-xs)}.account-row .col-category,.account-row .col-name{width:100%}.account-row .col-category select,.account-row .col-name input{width:100%;height:40px}.account-row .row-check{position:absolute;top:var(--space-sm);right:var(--space-sm)}.summary-stats{flex-direction:column}.validate-actions{flex-direction:column;gap:var(--space-md)}.action-group{flex-direction:column}}@media(max-width:480px){.import-wizard-overlay{padding:0}.import-wizard{height:100vh;max-height:100vh;border-radius:0}.import-wizard-header,.import-wizard-content{padding:var(--space-md)}.wizard-progress{padding:var(--space-sm) var(--space-md)}.wizard-step-indicator{width:28px;height:28px}.quarters-grid{grid-template-columns:1fr}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.animate-fadeIn{animation:fadeIn .3s ease}.animate-slideUp{animation:slideUp .3s ease}.animate-slideDown{animation:slideDown .3s ease}.animate-scaleIn{animation:scaleIn .2s ease}.animate-pulse{animation:pulse 2s ease-in-out infinite}.spinning{animation:spin .8s linear infinite}.icon{display:inline-block;vertical-align:middle;flex-shrink:0}.skeleton{background:linear-gradient(90deg,var(--color-bg-surface) 0%,var(--color-bg-hover) 50%,var(--color-bg-surface) 100%);background-size:2000px 100%;animation:shimmer 2s infinite;border-radius:var(--radius-sm)}.skeleton-text{height:1em;margin-bottom:var(--space-xs)}.skeleton-title{height:1.5em;width:60%;margin-bottom:var(--space-sm)}.skeleton-avatar{width:40px;height:40px;border-radius:var(--radius-full)}.skeleton-card{height:120px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.m-0{margin:0}.m-xs{margin:var(--space-xs)}.m-sm{margin:var(--space-sm)}.m-md{margin:var(--space-md)}.m-lg{margin:var(--space-lg)}.m-xl{margin:var(--space-xl)}.mt-0{margin-top:0}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-0{margin-bottom:0}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.ml-0{margin-left:0}.ml-auto{margin-left:auto}.mr-0{margin-right:0}.mr-auto{margin-right:auto}.mx-auto{margin-left:auto;margin-right:auto}.p-0{padding:0}.p-xs{padding:var(--space-xs)}.p-sm{padding:var(--space-sm)}.p-md{padding:var(--space-md)}.p-lg{padding:var(--space-lg)}.p-xl{padding:var(--space-xl)}.pt-0{padding-top:0}.pb-0{padding-bottom:0}.px-0{padding-left:0;padding-right:0}.py-0{padding-top:0;padding-bottom:0}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.gap-xl{gap:var(--space-xl)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-2xl{font-size:var(--text-2xl)}.font-normal{font-weight:400}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-mono{font-family:var(--font-mono)}.text-uppercase{text-transform:uppercase}.text-lowercase{text-transform:lowercase}.text-capitalize{text-transform:capitalize}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.break-word{word-wrap:break-word;overflow-wrap:break-word}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.text-accent{color:var(--color-primary)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.bg-base{background:var(--color-bg-base)}.bg-elevated{background:var(--color-bg-elevated)}.bg-surface{background:var(--color-bg-surface)}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.w-full{width:100%}.w-auto{width:auto}.h-full{height:100%}.h-auto{height:auto}.min-h-screen{min-height:100vh}.border{border:1px solid var(--color-border)}.border-t{border-top:1px solid var(--color-border)}.border-b{border-bottom:1px solid var(--color-border)}.border-l{border-left:1px solid var(--color-border)}.border-r{border-right:1px solid var(--color-border)}.border-none{border:none}.rounded-none{border-radius:0}.rounded-sm{border-radius:var(--radius-sm)}.rounded-md{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-none{box-shadow:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.overflow-scroll{overflow:scroll}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.visible{visibility:visible}.invisible{visibility:hidden}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.loading{opacity:.6;pointer-events:none;position:relative}.loading:after{content:"";position:absolute;top:50%;left:50%;width:24px;height:24px;margin:-12px 0 0 -12px;border:2px solid var(--color-border);border-top-color:var(--color-primary);border-radius:var(--radius-full);animation:spin .8s linear infinite}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.salary-blurred{filter:blur(8px);-webkit-user-select:none;user-select:none;pointer-events:none}@media(max-width:480px){.version{display:none}.settings-actions{flex-direction:column}.settings-actions .btn{width:100%}.page-header{flex-direction:column;align-items:flex-start}.page-actions{width:100%}.page-actions .btn{flex:1}}@media(max-width:768px){.header{padding:0 var(--space-md);height:var(--header-height-mobile)}.header-left{gap:var(--space-sm)}.header-logo{height:24px}.logo{font-size:var(--text-md)}.main-nav{margin-left:var(--space-sm)}.nav-tab{padding:0 var(--space-sm);font-size:var(--text-sm)}.admin-button{padding:var(--space-xs) var(--space-sm);font-size:var(--text-sm)}.type-tabs{flex-wrap:wrap}.type-tab{flex:1;text-align:center}.main-content{padding:var(--space-md);min-height:calc(100vh - var(--header-height-mobile))}.dashboard-grid{grid-template-columns:repeat(2,1fr)}.form-row{flex-direction:column}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal{max-width:100%;margin:var(--space-md);max-height:calc(100vh - var(--space-xl))}.roles-grid{grid-template-columns:1fr}.permissions-table th:nth-child(2),.permissions-table th:nth-child(3){width:80px}.search-container{max-width:none}.translations-table th,.translations-table td{padding:var(--space-sm) var(--space-md)}.col-key{min-width:150px}.col-actions{min-width:100px}.action-buttons{flex-direction:column}.analysis-page .page-header{flex-direction:column;align-items:flex-start;gap:var(--space-md)}.year-comparison-controls{width:100%;flex-direction:column;align-items:stretch}.year-selector-group{width:100%}.year-selector-group .year-selector{flex:1}.chart-card,.consolidation-page{padding:var(--space-md)}.consolidation-controls{flex-direction:column;align-items:stretch;gap:var(--space-md)}.consolidation-summary .summary-value{font-size:var(--text-2xl)}.export-import-page{padding:var(--space-md)}.preview-info{grid-template-columns:1fr}.architecture-page,.architecture-content{padding:var(--space-md)}.architecture-tabs{flex-wrap:wrap}.architecture-tabs .tab-button{flex:1;min-width:140px;text-align:center}.layout-with-sidebar{grid-template-columns:1fr}.sidebar{position:relative;top:0}.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}@media(max-width:900px){.charts-grid,.export-import-grid{grid-template-columns:1fr}}@media(min-width:768px){.dashboard-grid,.grid--2{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid--3{grid-template-columns:repeat(3,1fr)}}@media(min-width:1200px){.dashboard-grid{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}}@media(min-width:1400px){.main-content{padding:var(--space-2xl)}}@media print{.header,.sidebar,.page-actions,.btn,button{display:none!important}body{background:#fff;color:#000}.main-content{padding:0}.card,.widget-card,.stat-card{border:1px solid #ccc;box-shadow:none}a{color:#000;text-decoration:underline}table{border-collapse:collapse}th,td{border:1px solid #ccc;padding:8px}}@media(prefers-contrast:high){:root{--color-border: #888;--color-text-muted: #666}.btn{border:2px solid currentColor}}
