@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-leading:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}.pointer-events-none{pointer-events:none}.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.top-\[-20\%\]{top:-20%}.right-\[-10\%\]{right:-10%}.bottom-\[-10\%\]{bottom:-10%}.left-\[-10\%\]{left:-10%}.z-10{z-index:10}.container{width:100%}.mx-auto{margin-inline:auto}.ml-auto{margin-left:auto}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.h-\[500px\]{height:500px}.h-\[600px\]{height:600px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-\[500px\]{width:500px}.w-\[600px\]{width:600px}.w-full{width:100%}.flex-shrink{flex-shrink:1}.flex-shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.resize{resize:both}.list-disc{list-style-type:disc}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-0{border-style:var(--tw-border-style);border-width:0}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.bg-\[\#1a1a2e\]{background-color:#1a1a2e}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.object-cover{-o-object-fit:cover;object-fit:cover}.text-center{text-align:center}.text-left{text-align:left}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.text-\[15px\]{font-size:15px}.leading-\[1\.05\]{--tw-leading:1.05;line-height:1.05}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.02em\]{--tw-tracking:-.02em;letter-spacing:-.02em}.tracking-\[-0\.03em\]{--tw-tracking:-.03em;letter-spacing:-.03em}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.line-through{text-decoration-line:line-through}.no-underline{text-decoration-line:none}.underline{text-decoration-line:underline}.opacity-25{opacity:.25}.opacity-75{opacity:.75}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur-\[100px\]{--tw-blur:blur(100px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.blur-\[120px\]{--tw-blur:blur(120px);filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.duration-200{--tw-duration:.2s;transition-duration:.2s}.select-all{-webkit-user-select:all;-moz-user-select:all;user-select:all}@media(hover:hover){.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-60:disabled{opacity:.6}*{box-sizing:border-box}:root{--cell-height:24px;--cell-width:100px;--cell-min-width:80px;--row-header-width:50px;--cell-font-size:13px;--zoom-level:1;--header-bg:#f3f4f6;--header-border:#e5e7eb;--selection-color:#8b5cf6;--selection-bg:#8b5cf61a;--grid-line:#e5e7eb;--sheet-background:var(--theme-sheet-bg,#f9fafb)}body{margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:13px;overflow:hidden}#root{flex-direction:column;width:100vw;height:100vh;display:flex}.app-body{flex:1;display:flex;overflow:hidden}.app-main{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.main-content-area{flex:1;display:flex;overflow:hidden}.spreadsheet-section{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden}.spreadsheet-container{background:#fff;flex-direction:column;flex:1;display:flex;overflow:hidden}.grid-container{transform-origin:0 0;will-change:transform;background-color:var(--sheet-background);flex:1;transition:transform .2s cubic-bezier(.4,0,.2,1);position:relative;overflow:auto}.cell{text-overflow:ellipsis;white-space:nowrap;min-height:var(--cell-height);height:var(--cell-height);min-width:var(--cell-width);width:var(--cell-width);line-height:calc(var(--cell-height) - 4px);font-size:var(--cell-font-size);z-index:1;background:#fff;border:none;outline:none;padding:2px 4px;transition:width .15s,height .15s,font-size .15s;position:relative;overflow:hidden}.cell:before{content:"";border-left:1px solid var(--grid-line);border-top:1px solid var(--grid-line);pointer-events:none;z-index:2;position:absolute;inset:0}.cell.selected{z-index:2;background:#fff}.cell.in-range{background:var(--selection-bg)}.cell.in-range.range-top{border-top:1px dashed var(--selection-color)}.cell.in-range.range-bottom{border-bottom:1px dashed var(--selection-color)}.cell.in-range.range-left{border-left:1px dashed var(--selection-color)}.cell.in-range.range-right{border-right:1px dashed var(--selection-color)}.cell.merged{z-index:3;background:#fff}.cell.merged.selected{z-index:4}.cell.formula-ref{outline-offset:-1px;z-index:1;outline:2px solid #3b82f6}.cell.formula-ref-1{outline-color:#3b82f6}.cell.formula-ref-2{outline-color:#ef4444}.cell.formula-ref-3{outline-color:#22c55e}.cell.formula-ref-4{outline-color:#f97316}.cell.formula-ref-5{outline-color:#8b5cf6}.cell.editing{z-index:5;outline:2px solid var(--selection-color);outline-offset:-1px;background:#fff;padding:0;box-shadow:0 1px 4px #0000001f}.cell.editing:after{display:none}.cell-input{width:100%;height:100%;font-family:inherit;font-size:inherit;background:#fff;border:none;outline:none;padding:2px 4px;line-height:1.3;overflow:hidden}.cell-content{white-space:pre-wrap;word-break:break-word;text-overflow:ellipsis;display:block;overflow:hidden}.cell.multiline{white-space:pre-wrap;overflow:hidden}.cell.multiline .cell-content{white-space:pre-wrap}.corner-cell{background:var(--header-bg);border-right:1px solid var(--header-border);border-bottom:1px solid var(--header-border);cursor:pointer;width:50px;height:24px}.corner-cell:hover{background:#e5e7eb}.sticky-corner{background:var(--header-bg);border-right:1px solid var(--header-border);border-bottom:1px solid var(--header-border)}.sticky-column-headers,.sticky-row-headers{background:var(--header-bg);overflow:hidden}.column-header,.row-header{background:var(--header-bg);border-right:1px solid var(--header-border);border-bottom:1px solid var(--header-border);text-align:center;color:#374151;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-weight:500;font-size:var(--cell-font-size);box-sizing:border-box;justify-content:center;align-items:center;transition:width .15s,height .15s,font-size .15s;display:flex;position:relative;overflow:visible}.column-header.selected,.row-header.selected{color:#5b21b6;cursor:grab;background:#ddd6fe}.header-label{pointer-events:none;box-sizing:border-box;text-overflow:ellipsis;white-space:nowrap;flex:1;justify-content:center;align-items:center;width:100%;height:100%;margin:0;padding:0 8px;line-height:1;display:flex;overflow:hidden}.column-header{min-height:var(--cell-height);height:var(--cell-height);min-width:30px;width:var(--cell-width);border-bottom:1px solid var(--grid-line);clip-path:none;position:relative;overflow:visible!important}.column-resizer{cursor:col-resize;z-index:100;pointer-events:auto;background:0 0;width:12px;position:absolute;top:0;bottom:0;right:-6px}.column-resizer:after{content:"";opacity:1;z-index:101;pointer-events:none;background:#b8bcc4;width:2px;transition:all .15s;position:absolute;top:0;bottom:0;right:5px}.column-resizer:hover:after{background:var(--selection-color);width:3px;top:0;bottom:0;right:4px}.row-header{min-width:var(--row-header-width);width:var(--row-header-width);min-height:var(--cell-height);height:var(--cell-height);border-right:1px solid var(--grid-line);clip-path:none;position:relative;overflow:visible!important}.hide-headers .row-header,.hide-headers .column-header{visibility:hidden}.row-resizer{cursor:row-resize;z-index:25;background:0 0;height:7px;position:absolute;bottom:-3px;left:0;right:0}.row-resizer:after{content:"";opacity:1;background:#c9cdd4;height:2px;transition:all .15s;position:absolute;bottom:2px;left:0;right:0}.row-resizer:hover:after{background:var(--selection-color);height:3px;bottom:1px;left:0;right:0}body.col-resizing,body.col-resizing *{cursor:col-resize!important}body.row-resizing,body.row-resizing *{cursor:row-resize!important}body.dragging-cells,body.dragging-cells *{cursor:move!important}.selection-box{border:2px solid var(--selection-color);background:var(--selection-bg);pointer-events:none;z-index:5;position:absolute}@keyframes marching-ants{0%{background-position:0 0,0 100%,0 0,100% 0}to{background-position:10px 0,-10px 100%,0 -10px,100% 10px}}.clipboard-box,.cut-box{pointer-events:none;z-index:6;box-sizing:border-box;background-image:repeating-linear-gradient(90deg,#1a73e8 0 5px,#0000 5px 10px),repeating-linear-gradient(90deg,#1a73e8 0 5px,#0000 5px 10px),repeating-linear-gradient(0deg,#1a73e8 0 5px,#0000 5px 10px),repeating-linear-gradient(0deg,#1a73e8 0 5px,#0000 5px 10px);background-position:0 0,0 100%,0 0,100% 0;background-repeat:no-repeat;background-size:100% 2px,100% 2px,2px 100%,2px 100%;animation:.4s linear infinite marching-ants;position:absolute}.fill-handle{background:var(--selection-color);cursor:crosshair;z-index:10;border:2px solid #fff;width:8px;height:8px;transition:transform .1s;position:absolute;bottom:-4px;right:-4px;pointer-events:auto!important}.fill-handle:hover{transform:scale(1.3)}.drag-border{transition:background-color .15s;pointer-events:auto!important}.drag-border:hover{background-color:#7c3aed4d}.column-header.dragging-source,.row-header.dragging-source{opacity:.35;background:#ede9fe}body.filling *,body.formula-selecting *{cursor:crosshair!important}.fill-preview{border:2px dashed var(--selection-color);pointer-events:none;z-index:4;background:#8b5cf61a;transition:width 50ms ease-out,height 50ms ease-out,left 50ms ease-out,top 50ms ease-out;position:absolute}.active-cell-box{border:2px solid var(--selection-color);pointer-events:none;z-index:6;background:0 0;position:absolute}.toolbar{background:#fff;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 8px;display:flex}.toolbar-group{border-right:1px solid #e5e7eb;align-items:center;gap:2px;padding:0 8px;display:flex}.toolbar-group:last-child{border-right:none}.toolbar-btn{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;display:flex}.toolbar-btn:hover{background:#f3f4f6}.toolbar-btn.active{color:#7c3aed;background:#ede9fe}.toolbar-select{color:#f0f0f5;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#2a2a32 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='%239090a0' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E") right 6px center no-repeat;border:1px solid #3a3a45;border-radius:4px;height:28px;padding:0 24px 0 8px;font-size:12px;transition:all .2s}.toolbar-select:hover{background-color:#353540;border-color:#7c3aed}.toolbar-select:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 2px #7c3aed33}.toolbar-select option{color:#f0f0f5;background:#212128;padding:8px 12px}.toolbar-select option:checked{color:#fff;background:#7c3aed}.toolbar-select option:hover{background:#353540}.toolbar-input{text-align:center;border:1px solid #e5e7eb;border-radius:4px;width:50px;height:28px;padding:0 8px;font-size:12px}.custom-dropdown{display:inline-block;position:relative}.custom-dropdown-trigger{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:4px;justify-content:space-between;align-items:center;gap:4px;width:100%;height:28px;padding:0 8px;font-size:12px;display:flex}.custom-dropdown-trigger:hover{border-color:#d1d5db}.custom-dropdown-value{text-align:left;text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.custom-dropdown-arrow{color:#6b7280;flex-shrink:0;transition:transform .2s}.custom-dropdown-arrow.open{transform:rotate(180deg)}.custom-dropdown-menu{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;max-height:240px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #00000026}.custom-dropdown-option{color:#374151;cursor:pointer;padding:8px 12px;font-size:13px;transition:background .1s}.custom-dropdown-option:first-child{border-radius:7px 7px 0 0}.custom-dropdown-option:last-child{border-radius:0 0 7px 7px}.custom-dropdown-option:hover{background:#f3f4f6}.custom-dropdown-option.selected{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);font-weight:500}.custom-dropdown-option.selected:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.color-picker-btn{position:relative}.color-indicator{border-radius:1px;height:3px;position:absolute;bottom:3px;left:4px;right:4px}.color-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:repeat(10,1fr);gap:2px;max-height:240px;padding:8px;display:grid;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 10px 25px #00000026}.color-swatch{cursor:pointer;border:1px solid #0000;border-radius:2px;width:20px;height:20px}.color-swatch:hover{border-color:#374151;transform:scale(1.1)}.formula-bar{background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;height:28px;display:flex}.hide-formula-bar .formula-bar{display:none}.cell-reference{color:#374151;border-right:1px solid #e5e7eb;align-items:center;min-width:60px;height:100%;padding:0 8px;font-weight:500;display:flex}.formula-input-container{flex:1;align-items:center;padding:0 8px;display:flex}.formula-input{border:none;outline:none;flex:1;font-family:Consolas,Monaco,monospace;font-size:13px}.fx-icon{color:#9ca3af;margin-right:8px;font-style:italic;font-weight:700}.sheet-bottom-bar{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:8px;height:36px;padding:0 8px 0 0;display:flex}.sheet-tabs{flex:1;align-items:center;min-width:0;height:100%;padding:0 4px;display:flex}.sheet-tabs-scroll-container{scrollbar-width:none;-ms-overflow-style:none;flex:1;align-items:center;display:flex;overflow:auto hidden}.sheet-tabs-scroll-container::-webkit-scrollbar{display:none}.sheet-tab{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-bottom:none;border-radius:4px 4px 0 0;align-items:center;gap:8px;margin-right:2px;padding:4px 16px;font-size:12px;display:flex;position:relative;bottom:-1px}.sheet-tab.active{color:#7c3aed;background:#fff;border-bottom:1px solid #fff;font-weight:500}.sheet-tab:hover:not(.active){background:#f3f4f6}.sheet-tab-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;margin-left:6px;transition:all .15s;display:flex}.sheet-tab-close:hover{color:#1f2937;background:#0000001a}.add-sheet-btn{cursor:pointer;color:#9ca3af;background:0 0;border:1px solid #d1d5db;border-radius:4px;justify-content:center;align-items:center;width:28px;height:22px;margin-left:4px;transition:all .15s;display:flex}.add-sheet-btn:hover{color:#fff;background:#7c3aed;border-color:#7c3aed}.status-bar{color:#374151;background:linear-gradient(#f9fafb,#f3f4f6);border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;height:26px;padding:4px 12px;font-size:12px;display:flex}.status-left{align-items:center;gap:0;display:flex}.status-right{align-items:center;gap:16px;display:flex}.status-cell-ref{color:#1f2937;font-weight:600}.status-separator{color:#d1d5db;margin:0 8px}.status-info{color:#6b7280}.status-stat{align-items:center;gap:4px;display:flex}.status-label{color:#6b7280;font-weight:500}.status-stat span:last-child{color:#1f2937;font-weight:600}.status-center{flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.zoom-controls{align-items:center;gap:6px;display:flex}.zoom-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;transition:all .15s;display:flex}.zoom-btn:hover:not(:disabled){color:#374151;background:#e5e7eb}.zoom-btn:disabled{opacity:.4;cursor:not-allowed}.zoom-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:#e5e7eb;border-radius:2px;outline:none;width:100px;height:4px}.zoom-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;cursor:pointer;background:#7c3aed;border-radius:50%;width:12px;height:12px;-webkit-transition:transform .15s;transition:transform .15s}.zoom-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.zoom-slider::-moz-range-thumb{cursor:pointer;background:#7c3aed;border:none;border-radius:50%;width:12px;height:12px}.zoom-value{text-align:right;color:#6b7280;cursor:pointer;border-radius:3px;min-width:40px;padding:2px 4px;font-size:11px;font-weight:500;transition:all .15s}.zoom-value:hover{color:#374151;background:#e5e7eb}.context-menu{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;padding:4px 0;position:fixed;box-shadow:0 10px 25px #00000026}.context-menu-item{cursor:pointer;color:#374151;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.context-menu-item:hover{background:#f3f4f6}.context-menu-item.danger{color:#dc2626}.context-menu-divider{background:#e5e7eb;height:1px;margin:4px 0}.context-menu-shortcut{color:#9ca3af;margin-left:auto;font-size:11px}.header-context-menu{min-width:200px}.context-menu-item.has-submenu{position:relative}.context-menu-item .submenu-arrow{color:#9ca3af;margin-left:auto}.context-submenu{z-index:1001;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:160px;padding:4px 0;position:absolute;top:0;left:100%;box-shadow:0 10px 25px #00000026}.context-submenu .context-menu-item{padding:8px 16px}.dialog{background:#fff;border-radius:12px;min-width:320px;max-width:90vw;box-shadow:0 25px 50px #00000040}.dialog-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dialog-header h3{color:#111827;margin:0;font-size:16px;font-weight:600}.dialog-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px}.dialog-close:hover{color:#374151;background:#f3f4f6}.dialog-body{padding:20px}.dialog-description{color:#6b7280;margin:0 0 16px;font-size:13px}.dialog-field{flex-direction:column;gap:6px;display:flex}.dialog-field label{color:#374151;font-size:13px;font-weight:500}.dialog-input{color:#111827;border:1px solid #d1d5db;border-radius:6px;outline:none;padding:8px 12px;font-size:14px;transition:border-color .15s,box-shadow .15s}.dialog-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a}.dialog-footer{background:#f9fafb;border-top:1px solid #e5e7eb;border-radius:0 0 12px 12px;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.dialog-btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s}.dialog-btn-primary{color:#fff;background:#7c3aed}.dialog-btn-primary:hover{background:#6d28d9}.dialog-btn-secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.dialog-btn-secondary:hover{background:#f3f4f6}.modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:#fff;border-radius:12px;min-width:400px;max-width:90vw;padding:24px;box-shadow:0 25px 50px #00000040}.modal-title{color:#111827;margin-bottom:16px;font-size:18px;font-weight:600}.modal-actions{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.btn{cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s}.btn-primary{color:#fff;background:#7c3aed}.btn-primary:hover{background:#6d28d9}.btn-secondary{color:#374151;background:#f3f4f6}.btn-secondary:hover{background:#e5e7eb}.btn-danger{color:#dc2626;background:#fee2e2}.btn-danger:hover{background:#fecaca}.form-group{margin-bottom:16px}.form-label{color:#374151;margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-input{color:#111827;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:100%;padding:10px 12px;font-size:14px;transition:all .15s}.form-input:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed1a}.form-input:disabled{color:#6b7280;cursor:not-allowed;background:#f9fafb}.form-hint{color:#9ca3af;margin-top:4px;font-size:12px;display:block}.modal-header-row{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.modal-title-with-icon{align-items:center;gap:10px;display:flex}.modal-title-with-icon .modal-title{margin-bottom:0}.modal-icon{color:#7c3aed}.modal-close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;padding:6px;transition:all .15s}.modal-close-btn:hover{color:#374151;background:#f3f4f6}.modal-actions-right{gap:8px;margin-left:auto;display:flex}.cell-hyperlink{color:#2563eb;cursor:pointer;text-decoration:underline}.cell-hyperlink:hover{color:#1d4ed8}.dialog-tabs{border-bottom:1px solid #e5e7eb;gap:4px;margin-bottom:16px;padding-bottom:8px;display:flex}.dialog-tab{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:14px;transition:all .15s;display:flex}.dialog-tab:hover{color:#374151;background:#f3f4f6}.dialog-tab.active{color:#7c3aed;background:#ede9fe;font-weight:500}.dialog-content{min-height:200px}.dialog-error{color:#dc2626;margin-top:12px;font-size:13px}.image-drop-zone{text-align:center;cursor:pointer;border:2px dashed #d1d5db;border-radius:12px;padding:40px;transition:all .2s}.image-drop-zone:hover{background:#faf5ff;border-color:#7c3aed}.image-drop-zone.dragging{background:#ede9fe;border-color:#7c3aed}.drop-zone-icon{color:#9ca3af;margin-bottom:12px}.drop-zone-text{color:#374151;margin-bottom:4px;font-size:14px}.drop-zone-hint{color:#9ca3af;font-size:12px}.url-input-section{padding:20px 0}.url-input-row{gap:8px;display:flex}.url-input-row .form-input{flex:1}.image-preview-section{text-align:center}.image-preview{border:1px solid #e5e7eb;border-radius:8px;max-width:100%;max-height:300px;margin-bottom:12px;display:inline-block;overflow:hidden}.image-preview img{-o-object-fit:contain;object-fit:contain;max-width:100%;max-height:300px}.image-info{color:#6b7280;margin-bottom:12px;font-size:13px}.floating-element{-webkit-user-select:none;-moz-user-select:none;user-select:none;border:2px solid #0000;border-radius:4px;transition:border-color .15s;position:absolute}.floating-element:hover{border-color:#7c3aed4d}.floating-element.selected{border-color:#7c3aed}.floating-element.dragging{opacity:.8}.floating-element.locked{border-style:dashed}.floating-element.locked.selected{border-color:#f59e0b}.floating-element img{-o-object-fit:contain;object-fit:contain;pointer-events:none;width:100%;height:100%}.resize-handle{z-index:10;background:#7c3aed;border:2px solid #fff;border-radius:2px;width:10px;height:10px;position:absolute}.resize-handle-nw{cursor:nwse-resize;top:-5px;left:-5px}.resize-handle-n{cursor:ns-resize;top:-5px;left:50%;transform:translate(-50%)}.resize-handle-ne{cursor:nesw-resize;top:-5px;right:-5px}.resize-handle-e{cursor:ew-resize;top:50%;right:-5px;transform:translateY(-50%)}.resize-handle-se{cursor:nwse-resize;bottom:-5px;right:-5px}.resize-handle-s{cursor:ns-resize;bottom:-5px;left:50%;transform:translate(-50%)}.resize-handle-sw{cursor:nesw-resize;bottom:-5px;left:-5px}.resize-handle-w{cursor:ew-resize;top:50%;left:-5px;transform:translateY(-50%)}.floating-delete-btn{color:#fff;cursor:pointer;z-index:20;background:#dc2626;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex;position:absolute;top:-12px;right:-12px}.floating-delete-btn:hover{background:#b91c1c;transform:scale(1.1)}.checkbox-label{cursor:pointer;color:#374151;align-items:center;gap:8px;font-size:14px;display:flex}.checkbox-label input[type=checkbox]{accent-color:#7c3aed;width:16px;height:16px}.style-options{gap:12px;display:flex}.style-option{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:8px 12px;transition:all .15s;display:flex}.style-option:hover{border-color:#c4b5fd}.style-option.selected{background:#faf5ff;border-color:#7c3aed}.style-option span{color:#6b7280;font-size:12px}.style-preview{border:1px solid #e5e7eb;border-radius:4px;width:60px;height:36px}.style-preview.style-light{background:linear-gradient(#f3f4f6 33%,#fff 33%)}.style-preview.style-medium{background:linear-gradient(#c4b5fd 33%,#fff 33%)}.style-preview.style-dark{background:linear-gradient(#7c3aed 33%,#fff 33%)}.table-overlay{pointer-events:none;z-index:8;position:absolute}.table-border{border:2px solid #7c3aed;border-radius:2px;position:absolute;inset:0}.table-header-overlay{pointer-events:none;z-index:5;border-bottom:2px solid #7c3aed;position:absolute;top:0;left:0;right:0}.table-header-overlay.style-light{background:#f3f4f64d;border-bottom-color:#9ca3af}.table-header-overlay.style-medium{background:#c4b5fd4d;border-bottom-color:#8b5cf6}.table-header-overlay.style-dark{background:#7c3aed40;border-bottom-color:#7c3aed}.table-banded-row{pointer-events:none;background:#8b5cf60d;position:absolute;left:0;right:0}.table-delete-btn{color:#fff;cursor:pointer;pointer-events:auto;z-index:100;opacity:.8;background:#dc2626;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex;position:absolute;top:50%;right:-14px;transform:translateY(-50%);box-shadow:0 2px 6px #00000040}.table-delete-btn svg{width:14px;height:14px}.table-delete-btn:hover{opacity:1;background:#b91c1c;transform:scale(1.1);box-shadow:0 3px 10px #00000059}.table-filter-btn{cursor:pointer;pointer-events:auto;color:#7c3aed;z-index:10;background:#fff;border:1px solid #8b5cf6;border-radius:3px;justify-content:center;align-items:center;gap:1px;width:20px;height:18px;font-size:10px;transition:all .15s;display:flex;box-shadow:0 1px 3px #7c3aed40}.table-filter-btn svg{color:#7c3aed;flex-shrink:0;width:12px;height:12px}.table-filter-btn:hover{color:#7c3aed;background:#f3f4f6;border-color:#7c3aed}.table-filter-btn:hover svg{color:#7c3aed}.table-filter-btn.has-filter{color:#7c3aed;background:#ede9fe;border-color:#8b5cf6}.table-filter-btn.has-filter svg,.table-filter-btn.has-sort,.table-filter-btn.has-sort svg{color:#7c3aed}.table-filter-btn .sort-indicator{font-size:9px;font-weight:600}.table-filter-btn .filter-active-dot{background:#7c3aed;border-radius:50%;width:5px;height:5px;position:absolute;top:2px;right:2px}.table-filter-indicator{color:#92400e;pointer-events:auto;white-space:nowrap;background:#fef3c7;border:1px solid #fcd34d;border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:flex;position:absolute;bottom:-20px;left:4px}.table-filter-indicator svg{color:#d97706}.table-header-overlay{pointer-events:auto}.chart-type-grid{grid-template-columns:repeat(5,1fr);gap:8px;display:grid}.chart-type-option{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;transition:all .15s;display:flex}.chart-type-option:hover{background:#faf5ff;border-color:#c4b5fd}.chart-type-option.selected{background:#ede9fe;border-color:#7c3aed}.chart-type-icon{color:#6b7280}.chart-type-option.selected .chart-type-icon{color:#7c3aed}.chart-type-option span{color:#6b7280;font-size:11px}.chart-type-option.selected span{color:#7c3aed;font-weight:500}.chart-container{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.chart-renderer{box-sizing:border-box;width:100%;height:100%;padding:12px}.chart-no-data{color:#9ca3af;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.chart-no-data p{margin:0}.chart-no-data-hint{font-size:12px;margin-top:4px!important}.file-menu{position:relative}.file-menu-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:200px;max-height:240px;padding:4px 0;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 10px 25px #00000026}.file-menu-item{cursor:pointer;color:#374151;align-items:center;gap:12px;padding:8px 16px;font-size:13px;display:flex}.file-menu-item:hover{background:#f3f4f6}.paste-special-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;padding:4px 0;position:absolute;top:100%;left:0;box-shadow:0 10px 25px #00000026}.paste-special-option{cursor:pointer;color:#374151;align-items:center;gap:10px;padding:8px 12px;font-size:12px;display:flex}.paste-special-option:hover{background:#f3f4f6}.paste-special-option svg{color:#6b7280;width:14px;height:14px}.paste-icon{color:#6b7280;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:600;display:inline-flex}.paste-btn-container{align-items:center;display:inline-flex;position:relative}.ribbon-btn-split{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}.ribbon-btn-dropdown-arrow{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:0 4px 4px 0;justify-content:center;align-items:center;width:12px;height:24px;padding:0;display:flex}.ribbon-btn-dropdown-arrow:hover{background:#e5e7eb}.format-painter-active{box-shadow:inset 0 0 0 2px #7c3aed;color:#7c3aed!important;background:#ddd6fe!important}.format-painter-active:hover{background:#c4b5fd!important}.ribbon-btn.clipboard-active{animation:1.5s ease-in-out infinite clipboard-pulse;box-shadow:inset 0 0 0 2px #7c3aed;color:#7c3aed!important;background:#ddd6fe!important}.ribbon-btn.clipboard-active:hover{background:#c4b5fd!important}@keyframes clipboard-pulse{0%,to{box-shadow:inset 0 0 0 2px #7c3aed}50%{box-shadow:inset 0 0 0 2px #7c3aed,0 0 8px #7c3aed80}}.format-painter-cursor{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%237c3aed' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18.37 2.63 14 7l-1.59-1.59a2 2 0 0 0-2.82 0L8 7l9 9 1.59-1.59a2 2 0 0 0 0-2.82L17 10l4.37-4.37a2.12 2.12 0 1 0-3-3Z'/%3E%3Cpath d='M9 8c-2 3-4 3.5-7 4l8 10c2-1 6-5 6-7'/%3E%3Cpath d='M14.5 17.5 4.5 15'/%3E%3C/svg%3E") 0 24,crosshair}.grid-container::-webkit-scrollbar{width:12px;height:12px}.grid-container::-webkit-scrollbar-track{background:#f1f1f1}.grid-container::-webkit-scrollbar-thumb{background:#c1c1c1;border:3px solid #f1f1f1;border-radius:6px}.grid-container::-webkit-scrollbar-thumb:hover{background:#a1a1a1}.app-header{color:#fff;-webkit-app-region:drag;background:linear-gradient(135deg,#8b5cf6,#7c3aed);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}body.platform-darwin .app-header{padding-left:80px}.app-header button,.app-header input,.app-header .file-operations,.app-header .file-op-dropdown,.app-header .file-op-menu,.app-header .dropdown-overlay{-webkit-app-region:no-drag}.header-left{align-items:center;display:flex}.header-right{align-items:center;gap:8px;display:flex}.window-controls{-webkit-app-region:no-drag;align-items:center;gap:2px;margin-left:12px;display:flex}.window-control-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:36px;height:28px;transition:background-color .15s;display:flex}.window-control-btn:hover{background:#ffffff26}.window-control-btn:active{background:#ffffff40}.window-control-btn.fullscreen-btn{margin-right:4px}.window-control-btn.fullscreen-btn:hover{background:#ffffff26}.window-control-btn.close-btn:hover{background:#e81123}.window-control-btn.close-btn:active{background:#c50f1f}body.platform-win32 .window-control-btn{border-radius:0;width:46px;height:32px}body.platform-win32 .window-controls{gap:0;margin-left:16px}body.platform-linux .window-control-btn{border-radius:6px}.app-logo{width:28px;height:28px;margin-right:12px}.app-title{margin-right:24px;font-size:16px;font-weight:600}.workbook-name{opacity:.9;color:#fff;background:#ffffff1a;border:none;border-radius:4px;outline:none;padding:4px 8px;font-size:14px}.workbook-name:focus{background:#fff3}.header-menu{gap:4px;margin-left:16px;display:flex}.header-menu-btn{color:#fff;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 12px;font-size:13px}.header-menu-btn:hover{background:#ffffff1a}.format-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;max-height:240px;padding:4px 0;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 10px 25px #00000026}.format-option{cursor:pointer;color:#374151;justify-content:space-between;padding:8px 16px;font-size:13px;display:flex}.format-option:hover{background:#f3f4f6}.format-example{color:#9ca3af}.border-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;grid-template-columns:repeat(4,1fr);gap:4px;max-height:240px;padding:8px;display:grid;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 10px 25px #00000026}.border-option{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.border-option:hover{background:#f3f4f6}.text-case-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;padding:4px 0;position:absolute;top:100%;left:0;box-shadow:0 10px 25px #00000026}.text-case-option{cursor:pointer;color:#374151;padding:10px 16px;font-size:13px;transition:background-color .15s}.text-case-option:hover{background:#f3f4f6}.text-case-option:active{background:#e5e7eb}.page-setup-dropdown{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:280px;padding:8px 0;position:absolute;top:100%;left:0;box-shadow:0 10px 25px #00000026}.page-setup-dropdown .dropdown-header{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb;margin-bottom:4px;padding:8px 16px;font-size:12px;font-weight:600}.page-setup-dropdown .dropdown-option{cursor:pointer;color:#374151;align-items:center;gap:12px;padding:10px 16px;font-size:13px;transition:background .15s;display:flex}.page-setup-dropdown .dropdown-option:hover{background:#f3f4f6}.page-setup-dropdown .dropdown-option.active{background:#eff6ff}.page-setup-dropdown .dropdown-option.disabled{opacity:.5;cursor:not-allowed}.page-setup-dropdown .dropdown-option.disabled:hover{background:0 0}.page-setup-dropdown .dropdown-divider{background:#e5e7eb;height:1px;margin:4px 0}.page-setup-dropdown .option-icon{color:#6b7280;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.page-setup-dropdown .option-content{flex-direction:column;flex:1;gap:2px;display:flex}.page-setup-dropdown .option-title{color:#1f2937;font-weight:500}.page-setup-dropdown .option-desc{color:#9ca3af;font-size:11px}.page-setup-dropdown .check-icon{color:#2563eb}.scale-dropdown{background:var(--theme-surface,#fff);border:1px solid var(--theme-border,#e5e7eb);z-index:1000;border-radius:8px;min-width:100px;margin-top:4px;padding:4px 0;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000026}.scale-dropdown-item{cursor:pointer;color:var(--theme-text-primary,#1f2937);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:background .15s;display:flex}.scale-dropdown-item:hover{background:var(--theme-hover,#f3f4f6)}.scale-dropdown-item.active{background:var(--theme-selection-bg,#eff6ff);color:var(--theme-primary,#8b5cf6)}.scale-dropdown-item svg{color:var(--theme-primary,#8b5cf6)}.orientation-icon{color:#6b7280;background:#f9fafb;border:2px solid #d1d5db;border-radius:4px;justify-content:center;align-items:center;width:40px;height:50px;display:flex}.orientation-icon.landscape{width:50px;height:40px}.dropdown-option.active .orientation-icon{color:#2563eb;background:#eff6ff;border-color:#2563eb}.margin-preview{background:#f9fafb;border:2px solid #d1d5db;border-radius:4px;width:40px;height:50px;padding:4px}.margin-preview .margin-inner{background:#fff;border:1px dashed #9ca3af;width:100%;height:100%}.margin-preview.normal .margin-inner{width:calc(100% - 8px);height:calc(100% - 8px);margin:4px}.margin-preview.narrow .margin-inner{width:calc(100% - 4px);height:calc(100% - 4px);margin:2px}.margin-preview.wide .margin-inner{width:calc(100% - 12px);height:calc(100% - 12px);margin:6px}.margin-preview.custom .margin-inner{background-color:#0000;background-image:linear-gradient(45deg,#e5e7eb 25%,#0000 25%),linear-gradient(-45deg,#e5e7eb 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#e5e7eb 75%),linear-gradient(-45deg,#0000 75%,#e5e7eb 75%);background-position:0 0,0 4px,4px -4px,-4px 0;background-repeat:repeat,repeat,repeat,repeat;background-size:8px 8px;background-attachment:scroll,scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box,border-box}.dropdown-option.active .margin-preview{background:#eff6ff;border-color:#2563eb}.margins-dropdown{min-width:320px}.custom-margins-dialog{background:#fff;border-radius:12px;width:420px;max-width:90vw;box-shadow:0 25px 50px #00000040}.custom-margins-dialog .dialog-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.custom-margins-dialog .dialog-header h3{color:#1f2937;margin:0;font-size:16px;font-weight:600}.custom-margins-dialog .dialog-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;padding:4px}.custom-margins-dialog .dialog-close:hover{color:#1f2937;background:#f3f4f6}.custom-margins-dialog .dialog-content{gap:20px;padding:20px;display:flex}.custom-margins-dialog .margin-inputs{flex:1;grid-template-columns:1fr 1fr;gap:12px;display:grid}.custom-margins-dialog .margin-input-group{flex-direction:column;gap:4px;display:flex}.custom-margins-dialog .margin-input-group label{color:#6b7280;font-size:12px;font-weight:500}.custom-margins-dialog .margin-input-group input{border:1px solid #d1d5db;border-radius:6px;width:100%;padding:8px 12px;font-size:13px}.custom-margins-dialog .margin-input-group input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.custom-margins-dialog .margin-preview-large{background:#f9fafb;border:2px solid #d1d5db;border-radius:8px;flex-shrink:0;width:120px;height:160px;position:relative}.custom-margins-dialog .margin-inner-preview{background:#fff;border:2px dashed #2563eb;transition:all .2s;position:absolute}.custom-margins-dialog .dialog-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.custom-margins-dialog .btn{cursor:pointer;border-radius:6px;padding:8px 20px;font-size:13px;font-weight:500;transition:all .15s}.custom-margins-dialog .btn-secondary{color:#374151;background:#fff;border:1px solid #d1d5db}.custom-margins-dialog .btn-secondary:hover{background:#f3f4f6}.custom-margins-dialog .btn-primary{color:#fff;background:#2563eb;border:1px solid #2563eb}.custom-margins-dialog .btn-primary:hover{background:#1d4ed8}.dialog-overlay{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}[data-tooltip]{position:relative}[data-tooltip]:before,[data-tooltip]:after{opacity:0;visibility:hidden;pointer-events:none;transition:all .2s}[data-tooltip]:before{content:"";z-index:1001;filter:drop-shadow(0 -1px 1px #0000000d);border:6px solid #0000;border-bottom-color:#fff;margin-top:2px;position:absolute;top:100%;left:50%;transform:translate(-50%)}[data-tooltip]:after{content:attr(data-tooltip);color:#374151;white-space:nowrap;z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:8px;padding:8px 12px;font-size:12px;font-weight:500;position:absolute;top:100%;left:50%;transform:translate(-50%)translateY(4px);box-shadow:0 4px 16px #0000001f,0 1px 3px #00000014}[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;visibility:visible}[data-tooltip]:hover:after{transform:translate(-50%)translateY(0)}[data-tooltip].tooltip-left:after{left:0;transform:translate(0)translateY(4px)}[data-tooltip].tooltip-left:hover:after{transform:translate(0)translateY(0)}[data-tooltip].tooltip-left:before{left:16px;transform:translate(0)}[data-tooltip].tooltip-right:after{left:auto;right:0;transform:translate(0)translateY(4px)}[data-tooltip].tooltip-right:hover:after{transform:translate(0)translateY(0)}[data-tooltip].tooltip-right:before{left:auto;right:16px;transform:translate(0)}.sheet-tab-input{background:0 0;border:none;outline:none;width:80px;padding:0;font-size:12px}.formula-autocomplete{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:200px;max-width:280px;max-height:240px;font-size:12px;position:absolute;overflow-y:auto;box-shadow:0 4px 16px #7c3aed26}.formula-autocomplete-header{color:#7c3aed;text-transform:uppercase;letter-spacing:.5px;background:#f5f3ff;border-bottom:1px solid #e5e7eb;padding:4px 10px;font-size:10px;font-weight:600}.formula-autocomplete-item{cursor:pointer;color:#374151;align-items:center;padding:6px 10px;transition:background .1s;display:flex}.formula-autocomplete-item:hover{background:#f5f3ff}.formula-autocomplete-item.selected{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.formula-autocomplete-item.selected .formula-autocomplete-name{color:#fff}.formula-autocomplete-item.selected .formula-autocomplete-icon{color:#fff;background:#fff3}.formula-autocomplete-icon{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-right:8px;font-size:9px;font-style:italic;font-weight:700;display:flex}.formula-autocomplete-content{flex:1;min-width:0;overflow:hidden}.formula-autocomplete-name{color:#374151;font-size:12px;font-weight:600}.formula-autocomplete-more{color:#7c3aed;text-align:center;cursor:pointer;background:#f5f3ff;border:none;border-top:1px solid #e5e7eb;width:100%;padding:6px 10px;font-size:11px;font-weight:500;transition:background .1s;display:block}.formula-autocomplete-more:hover{background:#ede9fe}.formula-autocomplete::-webkit-scrollbar{width:6px}.formula-autocomplete::-webkit-scrollbar-track{background:#f9fafb}.formula-autocomplete::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.formula-autocomplete::-webkit-scrollbar-thumb:hover{background:#9ca3af}.load-more-rows{justify-content:center;align-items:center;padding:8px;display:flex}.load-more-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:8px;padding:10px 32px;font-size:14px;font-weight:600;transition:all .2s;box-shadow:0 4px 12px #7c3aed4d}.load-more-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 16px #7c3aed66}.load-more-btn:active{transform:translateY(0);box-shadow:0 2px 8px #7c3aed4d}.sheet-wrapper{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.scroll-to-top-btn{color:#fff;cursor:pointer;z-index:100;opacity:0;pointer-events:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .3s,opacity .3s;display:flex;position:absolute;bottom:80px;right:24px;box-shadow:0 4px 12px #7c3aed4d}.scroll-to-top-btn.visible{opacity:1;pointer-events:auto}.scroll-to-top-btn.hidden{opacity:0;pointer-events:none}.scroll-to-top-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);transform:translateY(-2px);box-shadow:0 6px 16px #7c3aed66}.scroll-to-top-btn:active{transform:translateY(0);box-shadow:0 2px 8px #7c3aed4d}.file-operations{align-items:center;gap:4px;display:flex}.file-op-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;align-items:center;gap:5px;height:28px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.file-op-btn:hover{background:#ffffff40;border-color:#ffffff80;box-shadow:0 1px 2px #0000000d}.file-op-btn:active{transform:translateY(1px)}.file-op-btn svg{color:#ffffffe6;width:14px;height:14px}.update-available-btn{animation:2s ease-in-out infinite update-pulse;color:#fff!important;background:linear-gradient(135deg,#10b981,#059669)!important;border-color:#059669!important}.update-available-btn:hover{background:linear-gradient(135deg,#059669,#047857)!important;border-color:#047857!important;box-shadow:0 2px 8px #10b98166!important}.update-available-btn svg{color:#fff!important}@keyframes update-pulse{0%,to{box-shadow:0 0 #10b98166}50%{box-shadow:0 0 0 4px #10b98100}}.file-op-dropdown{align-items:center;display:flex;position:relative}.dropdown-overlay{z-index:99;position:fixed;inset:0}.file-op-menu{z-index:10000;pointer-events:auto;-webkit-app-region:no-drag;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:200px;max-height:240px;padding:4px 0;position:absolute;top:calc(100% + 4px);right:0;overflow-y:auto;box-shadow:0 10px 25px #00000026}.file-op-menu button{color:#374151;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:13px;transition:background .1s;display:flex}.file-op-menu button:hover{background:#f3f4f6}.file-op-menu button svg{color:#6b7280;flex-shrink:0}.file-op-menu-divider{background:#e5e7eb;height:1px;margin:4px 0}.profile-dropdown{margin-left:8px}.profile-btn{cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .15s;display:flex}.profile-btn:hover .profile-avatar{box-shadow:0 0 0 2px #e9d5ff}.profile-avatar{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:600;transition:all .15s;display:flex}.profile-avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:32px;height:32px;transition:all .15s}.profile-btn:hover .profile-avatar-img{box-shadow:0 0 0 2px #e9d5ff}.profile-avatar-img-large{-o-object-fit:cover;object-fit:cover;border-radius:50%;flex-shrink:0;width:44px;height:44px}.profile-avatar-icon{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex;box-shadow:0 1px 3px #0000001a}.profile-btn:hover .profile-avatar-icon{transform:scale(1.05);box-shadow:0 0 0 2px #e9d5ff,0 1px 3px #0000001a}.profile-avatar-icon-large{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex;box-shadow:0 1px 3px #0000001a}.profile-menu{min-width:240px;max-height:400px;padding:0;left:auto;right:0}.profile-header{background:#faf5ff;border-bottom:1px solid #e9d5ff;align-items:center;gap:12px;padding:16px;display:flex}.profile-avatar-large{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:600;display:flex}.profile-info{flex-direction:column;gap:2px;min-width:0;display:flex}.profile-name{color:#374151;font-size:14px;font-weight:600}.profile-email{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.profile-divider{background:#e5e7eb;height:1px;margin:4px 0}.profile-menu .logout-btn{color:#dc2626}.profile-menu .logout-btn:hover{background:#fef2f2}.profile-menu .logout-btn svg{color:#dc2626}.ribbon{background:#fff;border-bottom:1px solid #e5e7eb;overflow:visible}.ribbon-tabs{background:#fafafa;border-bottom:1px solid #e5e7eb;gap:0;padding:0 8px;display:flex}.ribbon-tab-btn{cursor:pointer;color:#4b5563;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s}.ribbon-tab-btn:hover{color:#1f2937;background:#f3f4f6}.ribbon-tab-btn.active{color:#7c3aed;background:#fff;border-bottom-color:#7c3aed;font-weight:600}.ribbon-tab-btn.highlight{color:#0078d4}.ribbon-tab-btn.highlight.active{color:#0078d4;border-bottom-color:#0078d4}.ribbon-tab-btn.dev-mode{position:relative}.ribbon-tab-badge{color:#fff;letter-spacing:.5px;background:#0078d4;border-radius:4px;padding:1px 4px;font-size:8px;font-weight:700;position:absolute;top:-2px;right:-4px}.ribbon-tab-btn.dev-tab{color:#10b981;background:linear-gradient(135deg,#1e1e2e,#2d2d3d);border-color:#10b981}.ribbon-tab-btn.dev-tab:hover{background:linear-gradient(135deg,#2d2d3d,#3d3d4d)}.ribbon-tab-btn.dev-tab.active{color:#fff;background:linear-gradient(135deg,#10b981,#059669);border-color:#10b981}.ribbon-tab-btn.dev-tab .ribbon-tab-badge{background:#10b981}.ribbon-metrics{color:#10b981;background:#10b9811a;border:1px solid #10b9814d;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;display:flex}.ribbon-badge-active{color:#fff!important;background:#10b981!important}.control-panel-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.control-tab{gap:2px;display:flex}.control-tab .ribbon-btn-badge{color:#6b7280;background:#e5e7eb;border-radius:8px;margin-left:4px;padding:1px 5px;font-size:9px;font-weight:600}.control-tab .ribbon-btn-badge-active{color:#15803d;background:#dcfce7}.control-tab .ribbon-btn-indicator{background:#22c55e;border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.control-tab .ribbon-btn-active{background:#0078d41a;border:1px solid #0078d44d}.control-tab .ribbon-dropdown{margin-left:4px}.control-tab .ribbon-select{min-width:120px;padding:4px 28px 4px 8px;font-size:11px}.control-tab .ribbon-select-execute{background:#10b98126;border-color:#10b98166}.control-tab .ribbon-select-execute:hover{background:#10b98140;border-color:#10b981}.control-tab .ribbon-user-info{background:#f3f4f6;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:flex}.control-tab .ribbon-user-icon{font-size:14px}.control-tab .ribbon-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:80px;overflow:hidden}.ribbon-content{background:#fff;justify-content:flex-start;align-items:stretch;gap:2px;height:56px;padding:6px 8px;display:flex;overflow:visible}.ribbon-group{border-right:1px solid #e5e7eb;flex-direction:column;min-width:-moz-fit-content;min-width:fit-content;height:100%;padding:2px 10px;display:flex}.ribbon-group:last-child{border-right:none}.ribbon-group-wide{flex:1}.ribbon-group-label{color:#6b7280;text-transform:uppercase;letter-spacing:.3px;text-align:center;margin-top:auto;padding-top:2px;font-size:9px;font-weight:500}.ribbon-group-content{flex:1;align-items:center;gap:2px;display:flex}.ribbon-btn{cursor:pointer;color:#374151;white-space:nowrap;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;gap:3px;padding:4px 6px;font-size:11px;transition:all .15s;display:flex}.ribbon-btn:hover{background:#f3f4f6}.ribbon-btn.active{color:#7c3aed;background:#ede9fe}.ribbon-btn:disabled,.ribbon-btn.ribbon-btn-disabled{opacity:.4;cursor:not-allowed}.ribbon-btn:disabled:hover,.ribbon-btn.ribbon-btn-disabled:hover{background:0 0}.ribbon-btn-large{flex-direction:column;min-width:42px;height:44px;padding:4px 8px}.ribbon-btn-large svg{width:18px;height:18px}.ribbon-btn-large span{margin-top:1px;font-size:9px}.ribbon-btn-medium{flex-direction:column;min-width:38px;height:40px;padding:3px 6px}.ribbon-btn-medium svg{width:16px;height:16px}.ribbon-btn-medium span{margin-top:1px;font-size:9px}.ribbon-btn-small{height:22px;padding:3px 6px;font-size:10px}.ribbon-btn-small svg{width:14px;height:14px}.ribbon-btn-small span{font-size:10px}.ribbon-btn-icon{width:24px;height:24px;padding:0}.ribbon-btn-icon svg{width:14px;height:14px}.ribbon-badge{color:#fff;background:var(--accent-color);border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:600;display:inline-flex}.ribbon-btn-wide{min-width:50px;padding:4px 10px}.ribbon-btn-danger{color:#dc2626}.ribbon-btn-danger:hover{background:#fef2f2}.ribbon-btn-stack{flex-direction:column;gap:1px;display:flex}.ribbon-checkbox{cursor:pointer;color:#374151;white-space:nowrap;border-radius:3px;align-items:center;gap:4px;padding:3px 6px;font-size:11px;transition:background .15s;display:flex}.ribbon-checkbox:hover{background:#f3f4f6}.ribbon-checkbox input[type=checkbox]{accent-color:#7c3aed;width:12px;height:12px}.ribbon-checkbox svg{width:12px;height:12px}.ribbon-checkbox-large{padding:6px 10px}.ribbon-select{color:#f0f0f5;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#2a2a32 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='%239090a0' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E") right 6px center no-repeat;border:1px solid #3a3a45;border-radius:4px;min-width:70px;height:22px;padding:0 24px 0 6px;font-size:10px;transition:all .2s}.ribbon-select:hover{background-color:#353540;border-color:#7c3aed}.ribbon-select:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 2px #7c3aed33}.ribbon-select option{color:#f0f0f5;background:#212128;padding:8px}.ribbon-select option:checked{color:#fff;background:#7c3aed}.ribbon-select:disabled{opacity:.5;cursor:not-allowed}.ribbon-info-box{flex-direction:column;gap:1px;display:flex}.ribbon-info-label{color:#6b7280;font-size:9px}.zoom-display{text-align:center;color:#374151;cursor:pointer;background:#f3f4f6;border-radius:3px;min-width:40px;padding:3px 6px;font-size:11px;font-weight:600}.function-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:220px;max-height:240px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 10px 25px #00000026}.function-dropdown-header{color:#7c3aed;text-transform:uppercase;letter-spacing:.5px;background:#f5f3ff;border-bottom:1px solid #e5e7eb;padding:8px 12px;font-size:11px;font-weight:600;position:sticky;top:0}.function-option{cursor:pointer;border-bottom:1px solid #f3f4f6;padding:8px 12px;transition:background .1s}.function-option:last-child{border-bottom:none}.function-option:hover{background:#f5f3ff}.function-name{color:#1f2937;font-size:12px;font-weight:600;display:block}.function-desc{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;display:block;overflow:hidden}.function-more{color:#7c3aed;text-align:center;background:#f5f3ff;padding:8px 12px;font-size:11px;font-weight:500}.modal-content{background:#fff;border-radius:12px;min-width:400px;max-width:600px;max-height:80vh;overflow:hidden;box-shadow:0 25px 50px #00000040}.modal-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;align-items:center;gap:12px;padding:16px 20px;display:flex}.modal-header h3{color:#1f2937;flex:1;margin:0;font-size:16px;font-weight:600}.modal-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:20px;display:flex}.modal-close:hover{color:#1f2937;background:#e5e7eb}.modal-body{max-height:calc(80vh - 60px);padding:20px;overflow-y:auto}.shortcuts-grid{flex-direction:column;gap:8px;display:flex}.shortcut-row{background:#f9fafb;border-radius:6px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.shortcut-keys{color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:4px 8px;font-family:SF Mono,Consolas,monospace;font-size:12px;font-weight:500}.shortcut-action{color:#6b7280;font-size:13px}.modal-about{text-align:center}.about-content h2{color:#7c3aed;margin:0 0 8px;font-size:24px;font-weight:700}.about-content .version{color:#6b7280;margin-bottom:16px;font-size:13px}.about-content p{color:#374151;margin-bottom:20px;font-size:14px}.about-content .features-list{text-align:left;background:#f9fafb;border-radius:8px;margin-bottom:20px;padding:16px 20px}.about-content .features-list h4{color:#1f2937;margin:0 0 12px;font-size:13px;font-weight:600}.about-content .features-list ul{margin:0;padding-left:20px}.about-content .features-list li{color:#4b5563;margin-bottom:6px;font-size:13px}.about-content .copyright{color:#9ca3af;margin:0;font-size:12px}.split-view-container{background:var(--header-bg,#f9fafb);flex:1;display:flex;position:relative;overflow:hidden}.split-view-container.vertical{flex-direction:row}.split-view-container.horizontal,.split-view-container.quad{flex-direction:column}.split-view-row{flex-direction:row;flex:1;display:flex;overflow:hidden}.split-pane{background:#fff;border:1px solid #e5e7eb;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;position:relative;overflow:hidden}.split-pane.active{border-color:#8b5cf6;box-shadow:inset 0 0 0 1px #8b5cf64d}.split-pane-header{background:linear-gradient(#f9fafb,#f3f4f6);border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:28px;padding:4px 8px;font-size:11px;display:flex}.split-pane-selectors{align-items:center;gap:6px;display:flex}.split-pane-select-wrapper{align-items:center;display:flex;position:relative}.split-pane-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;color:#374151;background:#fff;border:1px solid #d1d5db;border-radius:4px;min-width:80px;max-width:140px;padding:3px 20px 3px 6px;font-size:11px}.split-pane-select:hover{border-color:#9ca3af}.split-pane-select:focus{border-color:#8b5cf6;outline:none;box-shadow:0 0 0 2px #8b5cf633}.split-pane-select-icon{pointer-events:none;color:#6b7280;position:absolute;right:6px}.split-pane-indicators{align-items:center;gap:6px;display:flex}.split-pane-sync-indicator{color:#8b5cf6;background:#8b5cf61a;border-radius:4px;align-items:center;gap:3px;padding:2px 6px;font-size:10px;display:flex}.split-pane-sync-indicator svg{width:12px;height:12px}.split-pane-workbook-indicator{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;background:#f3f4f6;border-radius:4px;max-width:80px;padding:2px 6px;font-size:10px;overflow:hidden}.split-pane-close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:20px;height:20px;padding:0;display:flex}.split-pane-close-btn:hover{color:#dc2626;background:#fee2e2}.split-pane-content{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.split-resizer{z-index:10;background:#e5e7eb;flex-shrink:0;transition:background-color .15s;position:relative}.split-resizer-vertical{cursor:ew-resize;width:6px}.split-resizer-horizontal{cursor:ns-resize;height:6px}.split-resizer:hover,.split-resizer.active{background:#8b5cf6}.split-resizer-handle{opacity:0;background:#8b5cf666;border-radius:2px;transition:opacity .15s;position:absolute}.split-resizer:hover .split-resizer-handle,.split-resizer.active .split-resizer-handle{opacity:1}.split-resizer-vertical .split-resizer-handle{width:2px;height:40px;top:50%;left:2px;transform:translateY(-50%)}.split-resizer-horizontal .split-resizer-handle{width:40px;height:2px;top:2px;left:50%;transform:translate(-50%)}.split-dropdown{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0;box-shadow:0 4px 12px #00000026}.split-option{cursor:pointer;color:#374151;border-radius:6px;align-items:center;gap:8px;padding:8px 12px;font-size:13px;transition:background-color .15s;display:flex}.split-option:hover{background:#f3f4f6}.split-option.active{color:#8b5cf6;background:#8b5cf61a}.split-option.danger{color:#dc2626}.split-option.danger:hover{background:#fee2e2}.split-option svg{flex-shrink:0}.nia-panel-collapsed{background:linear-gradient(#f9fafb,#f3f4f6);border-left:1px solid #e5e7eb;border-top-left-radius:16px;border-bottom-left-radius:16px;flex-direction:column;align-items:center;width:48px;height:100%;padding:6px 0 8px;display:flex}.nia-expand-btn{cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:flex}.nia-expand-btn:hover{background:0 0}.nia-expand-icon{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;box-shadow:0 2px 8px #7c3aed4d}.nia-panel{background:#fafafa;border-left:1px solid #e5e7eb;flex-direction:column;width:320px;min-width:280px;max-width:600px;height:100%;display:flex;position:relative}.nia-panel.resizing{-webkit-user-select:none;-moz-user-select:none;user-select:none}.nia-resize-handle{cursor:ew-resize;z-index:10;background:0 0;width:6px;transition:background .15s;position:absolute;top:0;bottom:0;left:0}.nia-resize-handle:hover,.nia-panel.resizing .nia-resize-handle{background:linear-gradient(90deg,#7c3aed,#0000)}.nia-resize-handle:before{content:"";background:0 0;border-radius:2px;width:3px;height:40px;transition:background .15s;position:absolute;top:50%;left:1px;transform:translateY(-50%)}.nia-resize-handle:hover:before,.nia-panel.resizing .nia-resize-handle:before{background:#7c3aed80}.nia-panel-header{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;min-height:44px;padding:8px 12px;display:flex}.nia-header-left{align-items:center;gap:8px;display:flex}.nia-header-icon{justify-content:center;align-items:center;width:28px;height:28px;display:flex}.nia-history-wrapper{position:relative}.nia-history-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;width:240px;max-height:300px;margin-top:4px;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.nia-history-header{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e7eb;padding:10px 12px;font-size:12px;font-weight:600}.nia-history-empty{text-align:center;color:#9ca3af;padding:16px 12px;font-size:13px}.nia-history-item{cursor:pointer;border-bottom:1px solid #f3f4f6;flex-direction:column;gap:2px;padding:10px 12px;transition:background .15s;display:flex}.nia-history-item:last-child{border-bottom:none}.nia-history-item:hover{background:#f9fafb}.nia-history-item.active{background:#f3e8ff}.nia-history-name{color:#374151;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.nia-history-date{color:#9ca3af;font-size:11px}.nia-chat-title{color:#374151;background:#f3f4f6;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:500;display:flex}.nia-new-chat-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:6px 12px;font-size:11px;font-weight:500;transition:all .15s}.nia-new-chat-btn:hover{color:#7c3aed;background:#f9fafb;border-color:#7c3aed}.nia-header-actions{align-items:center;gap:2px;display:flex}.nia-icon-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.nia-icon-btn:hover{color:#7c3aed;background:#f3f4f6}.nia-spinner{animation:1s linear infinite spin}.nia-panel-content{flex-direction:column;flex:1;padding:12px;display:flex;overflow-y:auto}.nia-empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:24px 16px;display:flex}.nia-agent-title{color:#374151;margin:0 0 8px;font-size:18px;font-weight:600}.nia-agent-subtitle{color:#6b7280;margin:0 0 16px;font-size:13px}.nia-suggestions{flex-direction:column;gap:8px;width:100%;display:flex}.nia-suggestion-btn{color:#374151;cursor:pointer;text-align:left;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;justify-content:flex-start;align-items:center;padding:10px 14px;font-size:13px;transition:all .15s;display:flex}.nia-suggestion-btn:active{background:#e5e7eb}.nia-messages{flex-direction:column;gap:20px;display:flex}.nia-message{flex-direction:column;display:flex}.nia-user-message-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.nia-message-meta{color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.nia-message-type{color:#374151;font-weight:500}.nia-message-divider{color:#d1d5db}.nia-message-time{color:#9ca3af}.nia-user-message-card .nia-message-bubble{background:#fff;padding:14px}.nia-user-message-card .nia-message-bubble p{color:#1f2937;margin:0;font-size:14px;line-height:1.6}.nia-message-actions{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:flex-end;align-items:center;gap:4px;padding:8px 14px;display:flex}.nia-msg-action-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.nia-msg-action-btn:hover{color:#6b7280;background:#e5e7eb}.nia-agent-message{flex-direction:column;gap:12px;display:flex}.nia-agent-text{color:#374151;margin:0;font-size:14px;line-height:1.6}.nia-actions-list{background:#fff;border:1px solid #e5e7eb;border-radius:10px;overflow:hidden}.nia-actions-toggle{color:#374151;cursor:pointer;text-align:left;background:#f9fafb;border:none;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;width:100%;padding:10px 14px;font-size:13px;transition:background .15s;display:flex}.nia-actions-toggle:hover{background:#f3f4f6}.nia-actions-icon{color:#7c3aed;font-size:14px}.nia-actions-toggle svg{color:#9ca3af;margin-left:auto}.nia-action-item{color:#4b5563;border-bottom:1px solid #f3f4f6;align-items:center;gap:10px;padding:10px 14px;font-size:13px;display:flex}.nia-action-item:last-child{border-bottom:none}.nia-action-indicator{justify-content:center;align-items:center;width:20px;display:flex}.nia-action-dot{background:#22c55e;border-radius:50%;width:8px;height:8px}.nia-action-item.in-progress .nia-action-dot{background:#7c3aed}.nia-action-item.in-progress{color:#7c3aed;font-weight:500}.nia-loading{color:#7c3aed;background:#fff;border:1px solid #e5e7eb;border-radius:10px;align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.nia-loading-dot{background:#7c3aed;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.nia-panel-input{background:#fff;border-top:1px solid #e5e7eb;padding:10px 12px}.nia-attachments-preview{flex-wrap:wrap;gap:8px;margin-bottom:8px;padding:8px 0;display:flex}.nia-attachment-item{border:1px solid #e5e7eb;border-radius:8px;width:60px;height:60px;position:relative;overflow:hidden}.nia-attachment-item img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.nia-attachment-remove{cursor:pointer;color:#fff;background:#0009;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;display:flex;position:absolute;top:2px;right:2px}.nia-attachment-remove:hover{background:#000c}.nia-input-box{border:1px solid #e5e7eb;border-radius:10px;transition:all .2s;overflow:hidden}.nia-input-box:focus-within{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed1a}.nia-textarea{resize:none;background:#fff;border:none;outline:none;width:100%;min-height:36px;max-height:80px;padding:10px 12px;font-family:inherit;font-size:12px;line-height:1.4}.nia-textarea::-moz-placeholder{color:#9ca3af}.nia-textarea::placeholder{color:#9ca3af}.nia-input-actions{background:#f9fafb;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:6px 10px;display:flex}.nia-input-left{align-items:center;gap:2px;display:flex}.nia-action-dropdown{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:4px;align-items:center;gap:3px;padding:4px 8px;font-size:10px;font-weight:500;transition:all .15s;display:flex}.nia-action-dropdown:hover{color:#7c3aed;border-color:#7c3aed}.nia-icon-btn-sm{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex}.nia-icon-btn-sm:hover{color:#7c3aed;background:#e5e7eb}.nia-send-btn{cursor:pointer;color:#9ca3af;background:#e5e7eb;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.nia-send-btn.active{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 2px 8px #7c3aed4d}.nia-send-btn:disabled{cursor:not-allowed;opacity:.6}.nia-send-btn.active:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #7c3aed66}.nia-send-btn-modern{cursor:pointer;color:#9ca3af;background:#e5e7eb;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.nia-send-btn-modern.active{color:#fff;background:#7c3aed}.nia-send-btn-modern:disabled{cursor:not-allowed;opacity:.5}.nia-send-btn-modern.active:hover:not(:disabled){background:#6d28d9;transform:scale(1.05)}.nia-attach-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.nia-attach-btn:hover{color:#374151;background:#f3f4f6}.nia-voice-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;transition:all .15s;display:flex}.nia-voice-btn:hover{color:#374151;background:#f3f4f6}.nia-suggestions{flex-direction:column;gap:6px;margin-top:10px;display:flex}.nia-suggestion-btn{color:#374151;cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;padding:10px 12px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.nia-suggestion-btn:hover{background:#faf5ff;border-color:#7c3aed}.nia-suggestion-btn:hover svg{color:#7c3aed}.nia-suggestion-btn svg{color:#9ca3af;flex-shrink:0;transition:color .15s}.nia-panel-footer{background:#fff;border-top:1px solid #e5e7eb;justify-content:center;align-items:center;gap:6px;padding:6px 12px;font-size:10px;display:flex}.nia-footer-left{color:#6b7280;align-items:center;gap:6px;display:flex}.nia-footer-left svg{color:#9ca3af}.nia-footer-right{align-items:center;display:flex}.nia-progress-dots{gap:3px;display:flex}.nia-dot{background:#e5e7eb;border-radius:50%;width:6px;height:6px}.nia-dot.active{background:#7c3aed}.nia-panel-content::-webkit-scrollbar{width:6px}.nia-panel-content::-webkit-scrollbar-track{background:0 0}.nia-panel-content::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:3px}.nia-panel-content::-webkit-scrollbar-thumb:hover{background:#9ca3af}.nia-settings-overlay{z-index:200;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:absolute;inset:0}.nia-settings-modal{background:#fff;border-radius:12px;width:100%;max-width:320px;overflow:hidden;box-shadow:0 8px 32px #0003}.nia-settings-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.nia-settings-header h3{color:#374151;margin:0;font-size:15px;font-weight:600}.nia-close-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.nia-close-btn:hover{color:#374151;background:#f3f4f6}.nia-settings-content{padding:16px}.nia-api-key-section{flex-direction:column;gap:10px;display:flex}.nia-api-key-section label{color:#374151;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.nia-api-key-section label svg{color:#7c3aed}.nia-api-input-group{gap:8px;display:flex}.nia-api-input{border:1px solid #e5e7eb;border-radius:6px;outline:none;flex:1;padding:8px 12px;font-size:13px;transition:border-color .15s}.nia-api-input:focus{border-color:#7c3aed}.nia-btn-primary{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;align-items:center;gap:4px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.nia-btn-primary:hover{transform:translateY(-1px);box-shadow:0 2px 8px #7c3aed4d}.nia-btn-danger{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;align-items:center;gap:4px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.nia-btn-danger:hover{background:#fee2e2;border-color:#f87171}.nia-api-hint{color:#6b7280;margin:0;font-size:11px;line-height:1.4}.nia-api-hint a{color:#7c3aed;text-decoration:none}.nia-api-hint a:hover{text-decoration:underline}.nia-api-required{flex-direction:column;align-items:center;gap:12px;display:flex}.nia-api-icon{color:#d1d5db}.nia-api-required h2{color:#374151;margin:0;font-size:16px;font-weight:600}.nia-api-required p{color:#6b7280;text-align:center;max-width:200px;margin:0;font-size:13px}.nia-configure-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:8px;align-items:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:500;transition:all .2s;display:flex}.nia-configure-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.nia-icon-btn.warning{color:#f59e0b;animation:2s ease-in-out infinite pulse-warning}@keyframes pulse-warning{0%,to{opacity:1}50%{opacity:.6}}.nia-error-box{color:#dc2626;word-break:break-word;overflow-wrap:break-word;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:8px;max-width:100%;padding:10px 12px;font-size:12px;display:flex}.nia-error-box svg{flex-shrink:0;margin-top:1px}.nia-error-box span{word-break:break-word;overflow-wrap:break-word;flex:1;min-width:0;line-height:1.4}.nia-loading-inline{color:#7c3aed;align-items:center;gap:8px;font-size:13px;display:flex}.nia-powered-text{color:#9ca3af;font-size:10px}.nia-naslabs-link{color:#1f2937;align-items:center;gap:4px;font-size:10px;font-weight:500;text-decoration:none;transition:opacity .15s;display:flex}.nia-naslabs-link:hover{opacity:.8}.nia-naslabs-link svg{flex-shrink:0}.nia-agent-hint{color:#9ca3af;margin:0 0 16px;font-size:12px}.nia-action-item.completed .nia-action-indicator{color:#22c55e}.nia-action-time{color:#9ca3af;background:#f3f4f6;border-radius:4px;margin-left:auto;padding:2px 6px;font-size:11px;font-weight:400}.nia-agent-bubble .nia-action-time{color:#7c3aed;background:#f3e8ff;font-size:10px}.nia-attach-btn:disabled,.nia-voice-btn:disabled{opacity:.4;cursor:not-allowed}.nia-attach-btn:disabled:hover,.nia-voice-btn:disabled:hover{color:#6b7280;background:0 0}.nia-textarea:disabled{color:#9ca3af;background:#f9fafb}.nia-user-message-wrapper{justify-content:flex-end;align-items:flex-end;gap:10px;max-width:95%;margin-left:auto;display:flex}.nia-user-bubble{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:16px 16px 4px;max-width:85%;padding:10px 14px;box-shadow:0 1px 3px #7c3aed33}.nia-user-bubble p{color:#fff;margin:0;font-size:13px;line-height:1.5}.nia-user-avatar{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:600;display:flex;box-shadow:0 2px 6px #7c3aed40}.nia-user-avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:50%;flex-shrink:0;width:28px;height:28px;box-shadow:0 2px 6px #00000026}.nia-user-avatar-icon{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;box-shadow:0 2px 6px #7c3aed4d}.nia-agent-message-wrapper{align-items:flex-start;gap:10px;max-width:95%;display:flex}.nia-agent-avatar{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex;box-shadow:0 2px 6px #7c3aed40}.nia-agent-avatar svg{width:14px;height:14px}.nia-agent-bubble{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.nia-agent-bubble .nia-agent-text{color:#374151;background:#f3f4f6;border-radius:4px 16px 16px;margin:0;padding:10px 14px;font-size:13px;line-height:1.6}.nia-agent-text .nia-paragraph{margin:0 0 8px}.nia-agent-text .nia-paragraph:last-child{margin-bottom:0}.nia-agent-text strong{color:#1f2937;font-weight:600}.nia-agent-text em{color:#4b5563;font-style:italic}.nia-agent-text .nia-code{color:#7c3aed;background:#e5e7eb;border-radius:4px;padding:2px 6px;font-family:SF Mono,Consolas,Liberation Mono,Menlo,monospace;font-size:12px}.nia-agent-text .nia-bullet,.nia-agent-text .nia-number{color:#7c3aed;margin-right:4px;font-weight:600}.nia-agent-bubble .nia-loading-inline{background:#f3f4f6;border-radius:4px 16px 16px;padding:10px 14px}.nia-cancel-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:4px;align-items:center;gap:4px;margin-left:12px;padding:4px 10px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.nia-cancel-btn:hover{color:#dc2626;background:#fef2f2;border-color:#fecaca}.nia-cancel-btn:active{transform:scale(.96)}.nia-cancel-btn svg{flex-shrink:0}.nia-agent-bubble .nia-error-box{margin-top:-4px}.nia-agent-bubble .nia-actions-list{background:#faf5ff;border-color:#e9d5ff;border-radius:8px;margin-top:0}.nia-agent-bubble .nia-actions-toggle{background:0 0;border-bottom-color:#e9d5ff;padding:8px 12px;font-size:12px}.nia-agent-bubble .nia-action-item{border-bottom-color:#f3e8ff;padding:8px 12px;font-size:12px}.nia-copy-btn{cursor:pointer;color:#9ca3af;opacity:0;white-space:nowrap;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex}.nia-user-bubble:hover .nia-copy-btn,.nia-agent-bubble:hover .nia-copy-btn{opacity:1}.nia-copy-btn.copied{opacity:1;color:#22c55e}.nia-copy-btn:hover{color:#6b7280;background:#0000000f}.nia-copy-btn.copied:hover{color:#22c55e;background:#22c55e1a}.nia-user-bubble{position:relative}.nia-user-bubble .nia-copy-btn{position:absolute;top:4px;left:-4px;transform:translate(-100%)}.nia-agent-bubble>.nia-copy-btn{margin-top:4px}.nia-response-time{color:#6b7280;letter-spacing:.2px;background:#f3f4f6;border-radius:12px;align-items:center;margin-top:8px;padding:4px 10px;font-size:11px;font-weight:500;display:inline-flex}.nia-response-time:before{content:"⏱";margin-right:5px;font-size:10px}.nia-dashboard-mode{background:#f5f3ff;border:1px solid #e9d5ff;border-radius:6px;align-items:center;gap:6px;margin:0 10px 6px;padding:4px 10px;display:flex}.nia-dashboard-mode-icon{color:#fff;background:#7c3aed;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.nia-dashboard-mode-icon svg{width:12px;height:12px}.nia-dashboard-mode-info{flex:1;align-items:center;gap:4px;min-width:0;display:flex}.nia-dashboard-mode-label{color:#7c3aed;text-transform:uppercase;letter-spacing:.3px;font-size:9px;font-weight:700}.nia-dashboard-mode-name{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:500;overflow:hidden}.nia-dashboard-mode-badge{color:#7c3aed;white-space:nowrap;background:#fff;border:1px solid #e9d5ff;border-radius:6px;padding:1px 5px;font-size:9px;font-weight:600}.nia-dashboard-preview-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:12px;align-items:center;gap:10px;width:100%;margin-top:10px;padding:12px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #7c3aed4d}.nia-dashboard-preview-btn:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6);transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed66}.nia-dashboard-preview-btn:active{transform:translateY(0);box-shadow:0 2px 6px #7c3aed4d}.nia-chart-hint{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;align-items:center;gap:8px;margin-top:8px;padding:8px 14px;font-size:12px;font-weight:500;display:flex}@media(min-width:1400px){.nia-panel{width:380px}}@media(max-width:1199px){.nia-panel{width:280px}.nia-empty-state h2{font-size:20px}.nia-empty-state p{font-size:13px}}@media(max-width:1023px){.ribbon-content{gap:8px;padding:4px 8px;overflow-x:auto}.ribbon-group{padding:2px 8px}.ribbon-group-label{font-size:9px}.ribbon-group:nth-child(n+7){display:none}.nia-panel{z-index:1000;width:320px;position:fixed;top:0;bottom:0;right:0;box-shadow:-4px 0 20px #00000026}.nia-panel-collapsed{z-index:1000;position:fixed;top:50%;right:0;transform:translateY(-50%)}.formula-bar{padding:4px 8px}.formula-bar-input{font-size:12px}.app-header{padding:6px 12px}.workbook-name{max-width:150px}}@media(max-width:767px){.app-header{flex-wrap:wrap;gap:8px;padding:8px}.header-left{flex:1;min-width:0}.app-logo{width:24px;height:24px}.app-title{font-size:14px}.workbook-name{max-width:100px;font-size:12px}.header-right{gap:4px}.header-btn{padding:4px 8px;font-size:11px}.header-btn svg{width:14px;height:14px}.header-btn span{display:none}.ribbon{overflow-x:auto}.ribbon-tabs{min-width:-moz-max-content;min-width:max-content}.ribbon-tab-btn{padding:6px 10px;font-size:11px}.ribbon-content{gap:6px;min-width:-moz-max-content;min-width:max-content;padding:4px 8px}.ribbon-group{padding:2px 6px}.ribbon-group-content{gap:2px}.ribbon-btn{padding:4px}.ribbon-btn-icon{width:26px;height:26px}.ribbon-group:nth-child(n+7){display:flex}.formula-bar{padding:4px 6px}.cell-address{min-width:50px;padding:4px 6px;font-size:11px}.formula-bar-input{padding:4px 6px;font-size:11px}.nia-panel{width:100%;max-width:100%}.nia-panel-header{padding:8px}.nia-header-icon svg{width:16px;height:16px}.nia-icon-btn{width:32px;height:32px}.nia-empty-state h2{font-size:18px}.nia-empty-state p{font-size:12px}.nia-textarea{font-size:14px}.nia-panel-footer{padding:6px 12px}.nia-panel-footer svg{width:60px}.sheet-tabs{padding:4px 8px}.sheet-tab{padding:4px 10px;font-size:11px}.status-bar{padding:2px 8px;font-size:10px}:root{--cell-width:80px;--cell-height:22px;--row-header-width:40px;--cell-font-size:12px}}@media(max-width:479px){.app-title{display:none}.workbook-name{max-width:80px}.ribbon-tab-btn{padding:6px 8px;font-size:10px}.nia-panel{border-left:none}:root{--cell-width:70px;--cell-height:20px;--row-header-width:35px;--cell-font-size:11px}}@media(hover:none)and (pointer:coarse){.ribbon-btn-icon{min-width:36px;min-height:36px}.cell{min-height:32px}.nia-icon-btn{min-width:40px;min-height:40px}.nia-send-btn-modern,.nia-attach-btn,.nia-voice-btn{width:40px;height:40px}}@media print{.app-header,.ribbon,.formula-bar,.sheet-tabs,.status-bar,.nia-panel,.nia-panel-collapsed{display:none!important}.app-body{height:auto;overflow:visible}.spreadsheet-container,.grid-container{overflow:visible}}.dashboard-toggle-btn{margin-top:4px}.nia-dashboard-icon{background:#fff;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;box-shadow:0 2px 6px #00000026}.dashboard-toggle-btn:hover .nia-dashboard-icon{transform:scale(1.05);box-shadow:0 3px 10px #00000038}.od-panel{background:#f8fafc;flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.od-panel-header{-webkit-app-region:drag;background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:12px;padding:12px 20px;display:flex}body.platform-darwin .od-panel-header{padding-left:80px}.od-panel-header button,.od-panel-header h1{-webkit-app-region:no-drag}.od-panel-header h1{color:#1f2937;align-items:center;gap:8px;margin:0;font-size:16px;font-weight:600;display:flex}.od-back-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.od-back-btn:hover{background:#f3f4f6;border-color:#d1d5db}.od-header-actions{align-items:center;gap:10px;margin-left:auto;display:flex}.od-user-info{align-items:center;gap:8px;display:flex}.od-avatar{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:26px;height:26px}.od-avatar-placeholder{color:#fff;background:#6366f1;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:12px;font-weight:600;display:flex}.od-user-name{color:#374151;font-size:12px;font-weight:500}.od-header-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;padding:6px;transition:all .15s;display:flex}.od-header-btn:hover{color:#374151;background:#f3f4f6}.od-toolbar{background:#fff;border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:12px;padding:8px 20px;display:flex}.od-toolbar-left,.od-toolbar-right{align-items:center;gap:6px;display:flex}.od-toolbar-btn{color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.od-toolbar-btn:hover{background:#f3f4f6;border-color:#d1d5db}.od-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.od-toolbar-btn.primary{color:#fff;background:#6366f1;border-color:#6366f1}.od-toolbar-btn.primary:hover{background:#4f46e5}.od-search-box{color:#9ca3af;background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:6px;min-width:200px;padding:5px 10px;display:flex}.od-search-box:focus-within{border-color:#c7d2fe;box-shadow:0 0 0 2px #6366f11a}.od-search-box input{color:#374151;background:0 0;border:none;outline:none;flex:1;font-size:12px}.od-search-clear{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px;display:flex}.od-search-clear:hover{color:#6b7280;background:#f3f4f6}.od-breadcrumbs{color:#9ca3af;background:#fff;border-bottom:1px solid #f3f4f6;flex-wrap:wrap;align-items:center;gap:2px;padding:6px 20px;font-size:12px;display:flex}.od-breadcrumb-item{align-items:center;gap:2px;display:flex}.od-breadcrumb-item button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:12px;transition:all .1s}.od-breadcrumb-item button:hover{color:#374151;background:#f3f4f6}.od-breadcrumb-item button.active{color:#374151;font-weight:600}.od-search-label{color:#6b7280;font-style:italic}.od-new-folder-bar{color:#6366f1;background:#f5f3ff;border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:6px 20px;display:flex}.od-new-folder-bar input{border:1px solid #c7d2fe;border-radius:6px;outline:none;flex:1;padding:4px 8px;font-size:12px}.od-new-folder-bar input:focus{border-color:#6366f1}.od-error-banner{color:#dc2626;background:#fef2f2;border-bottom:1px solid #fecaca;align-items:center;gap:8px;padding:8px 20px;font-size:12px;display:flex}.od-error-banner button{color:#dc2626;cursor:pointer;background:0 0;border:none;border-radius:4px;margin-left:auto;padding:2px}.od-error-banner button:hover{background:#fee2e2}.od-file-list{flex:1;min-height:0;overflow:auto}.od-table{border-collapse:collapse;width:100%;font-size:12px}.od-table thead{z-index:2;background:#f9fafb;position:sticky;top:0}.od-table th{text-align:left;color:#6b7280;white-space:nowrap;border-bottom:1px solid #e5e7eb;padding:8px 12px;font-size:11px;font-weight:500}.od-table th:first-child{padding-left:20px}.od-col-modified,.od-col-size{width:120px}.od-col-actions{text-align:center;width:48px}.od-row{cursor:pointer;transition:background .1s}.od-row:hover{background:#f9fafb}.od-row.selected{background:#f5f3ff}.od-row td{color:#374151;border-bottom:1px solid #f3f4f6;padding:10px 12px}.od-row td:first-child{padding-left:20px}.od-file-info{align-items:center;gap:10px;display:flex}.od-icon-folder{color:#f59e0b}.od-icon-spreadsheet{color:#10b981}.od-icon-file{color:#6b7280}.od-file-name{color:#1f2937;font-weight:500}.od-folder-count{color:#9ca3af;margin-left:4px;font-size:11px}.od-row-menu-btn{color:#9ca3af;cursor:pointer;opacity:.4;background:0 0;border:none;border-radius:4px;padding:4px;transition:all .15s;display:flex}.od-row:hover .od-row-menu-btn,.od-row.selected .od-row-menu-btn{opacity:1}.od-row-menu-btn:hover{color:#374151;background:#f3f4f6}.od-action-bar{background:#fff;border-top:1px solid #e5e7eb;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px;display:flex}.od-action-bar-info{color:#374151;align-items:center;gap:8px;min-width:0;font-size:12px;font-weight:500;display:flex;overflow:hidden}.od-action-bar-info span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.od-action-bar-btns{flex-shrink:0;gap:6px;display:flex}.od-action-btn{color:#374151;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-shrink:0;align-items:center;gap:5px;padding:6px 14px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.od-action-btn:hover{background:#f3f4f6}.od-action-btn:disabled{opacity:.5;cursor:not-allowed}.od-action-btn.primary{color:#fff;background:#6366f1;border-color:#6366f1}.od-action-btn.primary:hover{background:#4f46e5}.od-action-btn.danger{color:#ef4444;border-color:#fca5a5}.od-action-btn.danger:hover{background:#fef2f2}.od-save-dropdown{position:relative}.od-save-menu{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:200px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 8px 24px #0000001f}.od-save-menu button{cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;width:100%;padding:8px 12px;transition:background .15s;display:flex}.od-save-menu button:hover{background:#f3f4f6}.od-save-menu-text{flex-direction:column;gap:1px;display:flex}.od-save-menu-text span:first-child{color:#1f2937;font-size:12px;font-weight:500}.od-save-menu-desc{color:#9ca3af;font-size:10px}.od-context-menu{z-index:9999;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:160px;padding:4px;position:fixed;box-shadow:0 8px 24px #0000001f}.od-context-menu button{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:12px;transition:background .1s;display:flex}.od-context-menu button:hover{background:#f3f4f6}.od-context-menu button.danger{color:#ef4444}.od-context-menu button.danger:hover{background:#fef2f2}.od-ctx-divider{background:#f3f4f6;height:1px;margin:3px 0}.od-loading,.od-empty{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:60px 20px;display:flex}.od-empty h3{color:#374151;margin:0;font-size:16px}.od-empty p{color:#9ca3af;margin:0;font-size:13px}.od-spin{animation:1s linear infinite od-spin}@keyframes od-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.od-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#fffc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.od-overlay-card{color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:12px;align-items:center;gap:10px;padding:16px 24px;font-size:13px;font-weight:500;display:flex;box-shadow:0 4px 16px #00000014}.od-signin{flex:1;justify-content:center;align-items:center;padding:40px;display:flex}.od-signin-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:16px;flex-direction:column;align-items:center;max-width:420px;padding:40px;display:flex;box-shadow:0 4px 24px #0000000f}.od-signin-card h2{color:#1f2937;margin:16px 0 8px;font-size:20px;font-weight:700}.od-signin-card p{color:#6b7280;margin:0 0 20px;font-size:13px;line-height:1.5}.od-signin-card code{color:#6366f1;background:#f3f4f6;border-radius:4px;padding:1px 5px;font-size:11px}.od-signin-btn{color:#fff;cursor:pointer;background:#0078d4;border:none;border-radius:8px;align-items:center;gap:8px;padding:10px 24px;font-size:14px;font-weight:600;transition:background .15s;display:flex}.od-signin-btn:hover{background:#006abc}.od-error{color:#dc2626;background:#fef2f2;border-radius:8px;align-items:center;gap:6px;width:100%;margin-bottom:16px;padding:8px 14px;font-size:12px;display:flex}.od-setup-steps{text-align:left;flex-direction:column;gap:10px;width:100%;margin-top:8px;display:flex}.od-setup-step{color:#374151;align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;display:flex}.od-step-num{color:#fff;background:#6366f1;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.nia-onedrive-icon{background:#fff;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;box-shadow:0 2px 6px #00000026}.onedrive-toggle-btn:hover .nia-onedrive-icon{transform:scale(1.05);box-shadow:0 3px 10px #00000038}.gd-signin-btn{background:#4285f4!important}.gd-signin-btn:hover{background:#3367d6!important}.nia-googledrive-icon{background:#fff;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;box-shadow:0 2px 6px #00000026}.googledrive-toggle-btn:hover .nia-googledrive-icon{transform:scale(1.05);box-shadow:0 3px 10px #00000038}.gd-primary{background:#4285f4!important;border-color:#4285f4!important}.gd-primary:hover{background:#3367d6!important;border-color:#3367d6!important}.cf-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cf-dialog{background:#fff;border-radius:14px;flex-direction:column;width:480px;max-width:90vw;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #0003}.cf-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.cf-header h3{color:#1f2937;margin:0;font-size:16px;font-weight:700}.cf-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.cf-close:hover{color:#374151;background:#f3f4f6}.cf-range{align-items:center;gap:8px;padding:10px 20px;font-size:12px;display:flex}.cf-range label{color:#374151;white-space:nowrap;font-weight:600}.cf-range input{border:1px solid #e5e7eb;border-radius:6px;outline:none;flex:1;padding:5px 8px;font-family:monospace;font-size:12px}.cf-range input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.cf-tabs{border-bottom:1px solid #e5e7eb;gap:2px;padding:0 16px;display:flex}.cf-tabs button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;align-items:center;gap:4px;padding:8px 12px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.cf-tabs button:hover{color:#374151;background:#f9fafb}.cf-tabs button.active{color:#6366f1;border-bottom-color:#6366f1}.cf-body{flex:1;padding:16px 20px;overflow-y:auto}.cf-presets{grid-template-columns:1fr 1fr;gap:6px;margin-bottom:16px;display:grid}.cf-preset{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;transition:all .15s;display:flex}.cf-preset:hover{background:#f5f3ff;border-color:#c7d2fe}.cf-preset.active{background:#f5f3ff;border-color:#6366f1}.cf-preset-swatch{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:20px;font-size:11px;font-weight:700;display:flex}.cf-rule-builder{flex-direction:column;gap:10px;display:flex}.cf-field{flex-direction:column;gap:3px;display:flex}.cf-field label{color:#6b7280;font-size:11px;font-weight:600}.cf-field select,.cf-field input{border:1px solid #e5e7eb;border-radius:6px;outline:none;padding:6px 10px;font-size:12px}.cf-field select:focus,.cf-field input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.cf-format-section{flex-direction:column;gap:6px;display:flex}.cf-format-section>label{color:#6b7280;font-size:11px;font-weight:600}.cf-format-options{align-items:center;gap:10px;display:flex}.cf-color-pair{color:#6b7280;align-items:center;gap:4px;font-size:11px;display:flex}.cf-color-pair input[type=color]{cursor:pointer;border:1px solid #e5e7eb;border-radius:4px;width:28px;height:24px;padding:1px}.cf-style-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:flex}.cf-style-btn.active{color:#fff;background:#6366f1;border-color:#6366f1}.cf-preview{flex-direction:column;gap:4px;display:flex}.cf-preview>label{color:#6b7280;font-size:11px;font-weight:600}.cf-preview-cell{border:1px solid #e5e7eb;border-radius:6px;padding:8px 12px;font-size:13px}.cf-apply-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;justify-content:center;align-items:center;gap:5px;width:100%;margin-top:12px;padding:9px;font-size:13px;font-weight:600;transition:background .15s;display:flex}.cf-apply-btn:hover{background:#4f46e5}.cf-apply-btn:disabled{opacity:.5;cursor:not-allowed}.cf-hint{color:#9ca3af;margin:0 0 12px;font-size:12px}.cf-scale-presets,.cf-databar-presets{flex-direction:column;gap:8px;display:flex}.cf-scale-preset,.cf-databar-preset{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:12px;padding:10px 12px;font-size:12px;transition:all .15s;display:flex}.cf-scale-preset:hover,.cf-databar-preset:hover{background:#f5f3ff;border-color:#c7d2fe}.cf-scale-bar{border-radius:4px;flex-shrink:0;width:120px;height:16px}.cf-databar-sample{background:#f3f4f6;border-radius:4px;flex-shrink:0;width:120px;height:16px;overflow:hidden}.cf-databar-fill{opacity:.7;border-radius:4px;height:100%}.cf-manage{min-height:100px}.cf-empty{color:#9ca3af;flex-direction:column;align-items:center;gap:8px;padding:30px 0;display:flex}.cf-empty p{margin:0;font-size:13px}.cf-rules-list{flex-direction:column;gap:6px;display:flex}.cf-rule-item{border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px;display:flex}.cf-rule-info{flex-direction:column;gap:2px;min-width:0;display:flex}.cf-rule-type{color:#6366f1;text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:600}.cf-rule-desc{color:#1f2937;font-size:12px;font-weight:500}.cf-rule-range{color:#9ca3af;font-family:monospace;font-size:11px}.cf-rule-actions{flex-shrink:0;gap:4px;display:flex}.cf-rule-actions button{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:5px;padding:4px;transition:all .15s;display:flex}.cf-rule-actions button:hover{color:#374151;background:#f3f4f6}.cf-rule-actions button.danger:hover{color:#ef4444;background:#fef2f2;border-color:#fca5a5}.cf-dropdown-wrapper{position:relative}.cf-dropdown-trigger{color:#374151;cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;font-size:12px;display:flex}.cf-dropdown-trigger:hover{border-color:#d1d5db}.cf-dropdown-overlay{z-index:10;position:fixed;inset:0}.cf-dropdown-menu{z-index:11;background:#fff;border:1px solid #e5e7eb;border-radius:10px;max-height:240px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.cf-dropdown-item{color:#374151;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;width:100%;padding:7px 10px;font-size:12px;transition:background .1s;display:flex}.cf-dropdown-item:hover{background:#f3f4f6}.cf-dropdown-item.active{color:#6366f1;background:#f5f3ff;font-weight:600}.collab-share-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#ffffff26;border:1px solid #ffffff4d;border-radius:8px;align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.collab-share-btn:hover{background:#ffffff40;border-color:#ffffff80}.collab-presence{background:#ffffff1f;border:1px solid #fff3;border-radius:8px;align-items:center;gap:8px;padding:3px 8px;display:flex}.collab-status{color:#ffffffb3;align-items:center;gap:4px;display:flex}.collab-status-dot{border-radius:50%;width:6px;height:6px}.collab-avatars{align-items:center;display:flex}.collab-avatar{color:#fff;cursor:default;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;margin-left:-6px;font-size:10px;font-weight:700;display:flex}.collab-avatar:first-child{margin-left:0}.collab-count{color:#fffc;white-space:nowrap;font-size:11px;font-weight:500}.collab-copy-btn,.collab-disconnect-btn{color:#fff9;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:3px;transition:all .15s;display:flex}.collab-copy-btn:hover{color:#fff;background:#ffffff26}.collab-disconnect-btn:hover{color:#ef4444;background:#ef444426}.collab-dialog-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.collab-dialog{background:#fff;border-radius:14px;width:400px;max-width:90vw;overflow:hidden;box-shadow:0 16px 48px #0003}.collab-dialog-header{justify-content:space-between;align-items:center;padding:16px 20px 12px;display:flex}.collab-dialog-header h3{color:#1f2937;margin:0;font-size:16px;font-weight:700}.collab-dialog-close{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.collab-dialog-close:hover{color:#374151;background:#f3f4f6}.collab-dialog-body{flex-direction:column;gap:12px;padding:0 20px 16px;display:flex}.collab-field{flex-direction:column;gap:4px;display:flex}.collab-field label{color:#374151;font-size:12px;font-weight:600}.collab-optional{color:#9ca3af;font-weight:400}.collab-field input{border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s}.collab-field input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.collab-dialog-footer{background:#f9fafb;border-top:1px solid #f3f4f6;justify-content:flex-end;gap:8px;padding:12px 20px;display:flex}.collab-cancel-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:7px 14px;font-size:12px;font-weight:500}.collab-cancel-btn:hover{background:#f3f4f6}.collab-start-btn{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;align-items:center;gap:5px;padding:7px 16px;font-size:12px;font-weight:600;transition:background .15s;display:flex}.collab-start-btn:hover{background:#4f46e5}.remote-cursor-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.nia-gdrive-icon{background:linear-gradient(135deg,#4285f4,#34a853);border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex;box-shadow:0 2px 6px #4285f459}.gdrive-toggle-btn:hover .nia-gdrive-icon{transform:scale(1.05);box-shadow:0 3px 10px #4285f480}.dashboard-panel{background:#f8fafc;flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.dashboard-panel-header{-webkit-app-region:drag;background:#fff;border-bottom:1px solid #e5e7eb;align-items:center;gap:12px;padding:12px 20px;display:flex}body.platform-darwin .dashboard-panel-header{padding-left:80px}.dashboard-panel-header button,.dashboard-panel-header h1{-webkit-app-region:no-drag}.dashboard-panel-header h1{color:#1f2937;flex:1;margin:0;font-size:16px;font-weight:600}.dashboard-back-btn{cursor:pointer;color:#6b7280;background:0 0;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;transition:all .15s;display:flex}.dashboard-back-btn:hover{color:#1f2937;background:#f3f4f6}.dashboard-create-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6366f1,#7c3aed);border:none;border-radius:8px;align-items:center;gap:6px;padding:7px 14px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.dashboard-create-btn:hover{opacity:.9;transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.dashboard-create-btn.large{border-radius:10px;padding:10px 20px;font-size:14px}.dashboard-empty-state{color:#9ca3af;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px;display:flex}.dashboard-empty-state h2{color:#374151;margin:8px 0 0;font-size:20px;font-weight:600}.dashboard-empty-state p{color:#6b7280;text-align:center;max-width:400px;margin:0;font-size:13px;line-height:1.5}.dashboard-list{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:20px;display:grid}.dashboard-list-controls{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.dashboard-search-box{color:#9ca3af;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;flex:1;align-items:center;gap:8px;max-width:320px;padding:8px 12px;transition:all .15s;display:flex}.dashboard-search-box:focus-within{background:#fff;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.dashboard-search-box input{color:#374151;background:0 0;border:none;outline:none;flex:1;min-width:0;font-size:13px}.dashboard-search-box input::-moz-placeholder{color:#9ca3af}.dashboard-search-box input::placeholder{color:#9ca3af}.dashboard-search-clear{color:#6b7280;cursor:pointer;background:#e5e7eb;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:all .15s;display:flex}.dashboard-search-clear:hover{color:#374151;background:#d1d5db}.dashboard-controls-right{align-items:center;gap:10px;display:flex}.dashboard-filter-pills{background:#f3f4f6;border-radius:10px;gap:4px;padding:3px;display:flex}.dashboard-filter-pill{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.dashboard-filter-pill.active{color:#7c3aed;background:#fff;font-weight:600;box-shadow:0 1px 3px #00000014}.dashboard-filter-pill:hover:not(.active){color:#374151}.dashboard-sort-control{position:relative}.dashboard-sort-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.dashboard-sort-btn:hover{background:#f9fafb;border-color:#d1d5db}.dashboard-sort-btn svg:first-child{color:#9ca3af}.dashboard-sort-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:180px;padding:4px;animation:.15s sortDropIn;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 8px 24px #0000001f}@keyframes sortDropIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.dashboard-sort-option{color:#374151;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;font-size:13px;transition:background .1s;display:flex}.dashboard-sort-option:hover{background:#f3f4f6}.dashboard-sort-option.active{color:#7c3aed;background:#f5f3ff;font-weight:600}.dashboard-sort-option.active svg{color:#7c3aed}.dashboard-view-toggle{background:#f3f4f6;border-radius:8px;gap:2px;padding:3px;display:flex}.dashboard-view-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:30px;height:26px;transition:all .15s;display:flex}.dashboard-view-btn.active{color:#7c3aed;background:#fff;box-shadow:0 1px 3px #00000014}.dashboard-view-btn:hover:not(.active){color:#6b7280}.dashboard-list-view{flex-direction:column;gap:2px;padding:12px 20px;display:flex}.dashboard-list-row{cursor:pointer;border-radius:10px;align-items:center;gap:14px;padding:10px 14px;transition:background .15s;display:flex;position:relative}.dashboard-list-row:hover{background:#f9fafb}.dashboard-row-thumb{color:#6366f1;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:36px;display:flex;overflow:hidden}.dashboard-row-thumb img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.dashboard-row-info{flex:1;min-width:0}.dashboard-row-title{align-items:center;gap:8px;display:flex}.dashboard-row-title h3{color:#1f2937;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:14px;font-weight:600;overflow:hidden}.dashboard-row-shared-tag{color:#7c3aed;background:#f5f3ff;border-radius:8px;flex-shrink:0;align-items:center;gap:3px;padding:1px 7px;font-size:10px;font-weight:600;display:inline-flex}.dashboard-row-info p{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin:2px 0 0;font-size:12px;overflow:hidden}.dashboard-row-stats{color:#6b7280;white-space:nowrap;text-align:center;width:80px;font-size:12px}.dashboard-row-date{color:#9ca3af;white-space:nowrap;text-align:right;width:90px;font-size:12px}.dashboard-row-delete{color:#d1d5db;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:4px;transition:all .15s}.dashboard-list-row:hover .dashboard-row-delete{opacity:1}.dashboard-row-delete:hover{color:#ef4444;background:#fef2f2}.dashboard-empty-filter{color:#9ca3af;flex-direction:column;grid-column:1/-1;align-items:center;gap:8px;padding:48px 20px;display:flex}.dashboard-empty-filter p{margin:0;font-size:14px}.dashboard-list-card{cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:12px;transition:all .2s;position:relative;overflow:hidden}.dashboard-list-card:hover{border-color:#6366f1;transform:translateY(-2px);box-shadow:0 4px 16px #6366f11f}.dashboard-card-preview{color:#6366f1;background:linear-gradient(135deg,#f5f3ff,#ede9fe);flex-direction:column;justify-content:center;align-items:center;gap:6px;height:140px;font-size:11px;display:flex;position:relative;overflow:hidden}.dashboard-card-thumbnail{-o-object-fit:cover;object-fit:cover;-o-object-position:top left;object-position:top left;border-radius:0;width:100%;height:100%}.dashboard-card-mini-grid{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;padding:14px 16px;display:grid}.mini-widget{color:#6366f1;background:#ffffffb3;border:1px solid #6366f11f;border-radius:6px;justify-content:center;align-items:center;height:28px;font-size:10px;font-weight:600;display:flex}.mini-widget-metric{color:#7c3aed;background:#7c3aed1a;border-color:#7c3aed26}.mini-widget-bar,.mini-widget-combo{color:#3b82f6;background:#3b82f61a;border-color:#3b82f626}.mini-widget-line,.mini-widget-area{color:#10b981;background:#10b9811a;border-color:#10b98126}.mini-widget-pie{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b26}.mini-widget-table{color:#6b7280;background:#6b72801a;border-color:#6b728026}.mini-widget-header{color:#9ca3af;background:#6366f10f;border-color:#6366f11a}.mini-widget-more{color:#9ca3af;background:#ffffff80;border-style:dashed;font-size:10px}.dashboard-card-shared-badge{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:10px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-weight:600;display:flex;position:absolute;top:8px;left:8px;box-shadow:0 2px 6px #7c3aed4d}.dashboard-card-meta{justify-content:space-between;align-items:center;margin-top:6px;display:flex}.dashboard-card-stats{flex-wrap:wrap;gap:6px;display:flex}.dashboard-card-stats span{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:1px 6px;font-size:10px}.dashboard-card-info{padding:12px 14px}.dashboard-card-info h3{color:#1f2937;margin:0 0 4px;font-size:14px;font-weight:600}.dashboard-card-info p{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px;font-size:11px;overflow:hidden}.dashboard-card-info small{color:#9ca3af;font-size:10px}.dashboard-card-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex;position:absolute;top:8px;right:8px}.dashboard-list-card:hover .dashboard-card-actions{opacity:1}.dashboard-card-action-btn,.dashboard-card-delete{color:#9ca3af;cursor:pointer;background:#ffffffe6;border:none;border-radius:6px;padding:4px;transition:all .15s}.dashboard-card-action-btn:hover{color:#7c3aed;background:#f5f3ff}.dashboard-card-delete:hover{color:#ef4444;background:#fef2f2}.dashboard-row-action-btn{color:#d1d5db;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:4px;padding:4px;transition:all .15s}.dashboard-list-row:hover .dashboard-row-action-btn{opacity:1}.dashboard-row-action-btn:hover{color:#7c3aed;background:#f5f3ff}.dashboard-toolbar{background:#fff;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:8px 20px;display:flex}body.platform-darwin .dashboard-toolbar{padding-left:80px}.dashboard-toolbar button,.dashboard-toolbar .dashboard-toolbar-add-wrapper,.dashboard-toolbar-right{-webkit-app-region:no-drag}.dashboard-toolbar-left{align-items:center;gap:12px;display:flex}.dashboard-toolbar-name{color:#1f2937;font-size:15px;font-weight:600}.dashboard-toolbar-right{align-items:center;gap:6px;display:flex}.dashboard-toolbar-btn{cursor:pointer;color:#4b5563;background:0 0;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:5px;padding:6px 10px;font-size:12px;transition:all .15s;display:flex}.dashboard-toolbar-btn:hover{background:#f3f4f6;border-color:#d1d5db}.dashboard-toolbar-btn.primary{color:#fff;background:linear-gradient(135deg,#6366f1,#7c3aed);border:none}.dashboard-toolbar-btn.primary:hover{opacity:.9}.dashboard-toolbar-btn.danger:hover{color:#ef4444;background:#fef2f2;border-color:#fca5a5}.dashboard-toolbar-btn.saved{color:#059669;background:#ecfdf5;border-color:#6ee7b7}.dashboard-toolbar-btn.exporting{opacity:.6;pointer-events:none}.dashboard-toolbar-btn .export-spinner{border:2px solid #d1d5db;border-top-color:#6366f1;border-radius:50%;width:14px;height:14px;animation:.6s linear infinite export-spin}@keyframes export-spin{to{transform:rotate(360deg)}}.dashboard-toolbar-add-wrapper{position:relative}.dashboard-widget-picker{z-index:9999;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:200px;max-height:400px;margin-top:4px;padding:6px;position:absolute;top:100%;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.dashboard-widget-picker button{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:8px 10px;font-size:12px;transition:background .1s;display:flex}.dashboard-widget-picker button:hover{background:#f3f4f6}.dashboard-canvas{flex:1;min-height:0;padding:16px;position:relative;overflow:auto}.dashboard-export-overlay{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffb3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dashboard-export-overlay-content{background:#fff;border-radius:12px;flex-direction:column;align-items:center;gap:12px;padding:24px 32px;display:flex;box-shadow:0 4px 16px #0000001a}.dashboard-export-overlay-content .export-spinner-lg{border:3px solid #e5e7eb;border-top-color:#6366f1;border-radius:50%;width:32px;height:32px;animation:.6s linear infinite export-spin}.dashboard-export-overlay-content span{color:#374151;font-size:13px;font-weight:500}.dashboard-filter-bar{background:#fff;border-bottom:1px solid #f3f4f6;flex-wrap:wrap;align-items:center;gap:12px;padding:8px 20px;display:flex}.dashboard-filter-item{align-items:center;gap:6px;display:flex}.dashboard-filter-item label{color:#6b7280;font-size:11px;font-weight:500}.dashboard-filter-dropdown{position:relative}.dashboard-filter-trigger{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:6px;min-width:90px;padding:4px 10px;font-size:11px;transition:all .15s;display:flex}.dashboard-filter-trigger:hover{background:#f9fafb;border-color:#c7d2fe}.dashboard-filter-trigger span{text-align:left;flex:1}.dashboard-filter-arrow{color:#9ca3af;flex-shrink:0;transition:transform .2s}.dashboard-filter-arrow.open{transform:rotate(180deg)}.dashboard-filter-menu{z-index:9999;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:140px;max-height:220px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.dashboard-filter-option{cursor:pointer;color:#374151;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:6px 10px;font-size:12px;transition:background .1s;display:flex}.dashboard-filter-option:hover{background:#f3f4f6}.dashboard-filter-option.active{color:#6366f1;background:#f5f3ff;font-weight:600}.dashboard-filter-option.active:hover{background:#ede9fe}.dashboard-widget-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;height:100%;transition:box-shadow .2s;display:flex;overflow:hidden}.dashboard-widget-card:hover{box-shadow:0 2px 8px #0000000f}.dashboard-widget-card.header-widget{box-shadow:none;background:0 0;border:none}.dashboard-widget-title-bar{border-bottom:1px solid #f3f4f6;align-items:center;gap:6px;min-height:32px;padding:8px 12px;display:flex}.widget-drag-handle{cursor:grab;color:#d1d5db;align-items:center;display:flex}.dashboard-widget-title{color:#374151;white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;font-weight:600;overflow:hidden}.dashboard-widget-actions{position:relative}.dashboard-widget-actions>button{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;padding:2px}.dashboard-widget-actions>button:hover{color:#6b7280;background:#f3f4f6}.dashboard-widget-menu{z-index:50;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:150px;padding:4px;position:absolute;top:100%;right:0;box-shadow:0 8px 24px #0000001f}.dashboard-widget-menu button{cursor:pointer;color:#374151;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 10px;font-size:12px;transition:background .1s;display:flex}.dashboard-widget-menu button:hover{background:#f3f4f6}.dashboard-widget-menu button.danger{color:#ef4444}.dashboard-widget-menu button.danger:hover{background:#fef2f2}.dashboard-widget-menu-divider{background:#f3f4f6;height:1px;margin:4px 6px}.widget-rename-input{color:#374151;background:#f5f3ff;border:1px solid #c7d2fe;border-radius:5px;outline:none;flex:1;min-width:0;padding:2px 6px;font-size:12px;font-weight:600}.widget-rename-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f126}.widget-settings-dialog{background:#fff;border-radius:14px;flex-direction:column;width:440px;max-height:80vh;display:flex;overflow:hidden;box-shadow:0 20px 60px #0003}.widget-settings-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.widget-settings-header span{color:#1f2937;font-size:14px;font-weight:700}.widget-settings-header button{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:6px;padding:4px}.widget-settings-header button:hover{color:#374151;background:#f3f4f6}.widget-settings-body{flex-direction:column;gap:14px;padding:16px 18px;display:flex;overflow-y:auto}.widget-settings-field{flex-direction:column;gap:5px;display:flex}.widget-settings-field>label{color:#6b7280;text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.widget-settings-field input[type=text]{color:#374151;border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:7px 10px;font-size:13px;transition:border-color .15s}.widget-settings-field input[type=text]:focus{border-color:#6366f1;box-shadow:0 0 0 2px #6366f11a}.widget-settings-type-grid{grid-template-columns:repeat(3,1fr);gap:4px;display:grid}.widget-settings-type-btn{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:5px;padding:6px 8px;font-size:10px;transition:all .15s;display:flex}.widget-settings-type-btn:hover{background:#f9fafb;border-color:#c7d2fe}.widget-settings-type-btn.active{color:#6366f1;background:#eef2ff;border-color:#6366f1;font-weight:600}.widget-settings-select-wrap{position:relative}.widget-settings-select-wrap select{color:#374151;-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;outline:none;width:100%;padding:7px 28px 7px 10px;font-size:12px}.widget-settings-select-wrap select:focus{border-color:#6366f1}.widget-settings-select-icon{color:#9ca3af;pointer-events:none;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.widget-settings-chips{flex-wrap:wrap;gap:4px;display:flex}.widget-settings-chip{cursor:pointer;color:#6b7280;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;transition:all .15s;display:inline-flex}.widget-settings-chip:hover{border-color:#c7d2fe}.widget-settings-chip.active{color:#6366f1;background:#eef2ff;border-color:#6366f1;font-weight:600}.widget-settings-row{gap:16px;display:flex}.widget-settings-row label{color:#374151;cursor:pointer;align-items:center;gap:5px;font-size:12px;display:flex}.widget-settings-row input[type=checkbox]{accent-color:#6366f1}.widget-settings-footer{border-top:1px solid #f3f4f6;justify-content:flex-end;gap:8px;padding:12px 18px;display:flex}.widget-settings-cancel{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:7px 16px;font-size:12px}.widget-settings-cancel:hover{background:#f9fafb}.widget-settings-save{color:#fff;cursor:pointer;background:#6366f1;border:none;border-radius:8px;padding:7px 20px;font-size:12px;font-weight:600}.widget-settings-save:hover{background:#4f46e5}.dashboard-widget-content{flex-direction:column;flex:1;min-height:0;padding:4px;display:flex;overflow:hidden}.dashboard-widget-header-content{align-items:flex-end;height:100%;padding:4px 8px;display:flex}.dashboard-widget-header-content h2{color:#1f2937;margin:0;font-size:16px;font-weight:700}.widget-filter-container{position:relative}.widget-filter-btn{cursor:pointer;color:#9ca3af;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:2px;padding:2px 4px;transition:all .15s;display:flex}.widget-filter-btn:hover{color:#6b7280;background:#f3f4f6;border-color:#e5e7eb}.widget-filter-btn.active{color:#6366f1;background:#eef2ff;border-color:#c7d2fe}.widget-filter-badge{color:#fff;background:#6366f1;border-radius:50%;justify-content:center;align-items:center;width:14px;height:14px;font-size:9px;font-weight:700;line-height:1;display:flex}.widget-filter-panel{z-index:9999;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:220px;max-width:280px;padding:6px;box-shadow:0 8px 24px #0000001f}.widget-filter-panel-header{border-bottom:1px solid #f3f4f6;justify-content:space-between;align-items:center;margin-bottom:4px;padding:4px 6px 6px;display:flex}.widget-filter-panel-header span{color:#374151;font-size:11px;font-weight:600}.widget-filter-clear{color:#6366f1;cursor:pointer;background:0 0;border:none;padding:0;font-size:10px}.widget-filter-clear:hover{text-decoration:underline}.widget-filter-rows{flex-direction:column;gap:2px;max-height:260px;display:flex;overflow-y:auto}.wf-row{align-items:center;gap:6px;padding:2px 4px;display:flex;position:relative}.wf-row-label{color:#6b7280;white-space:nowrap;text-overflow:ellipsis;min-width:70px;font-size:11px;font-weight:500;overflow:hidden}.wf-row-dropdown{flex:1;position:relative}.wf-row-trigger{color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:7px;align-items:center;gap:6px;width:100%;padding:4px 8px;font-size:11px;transition:all .15s;display:flex}.wf-row-trigger:hover{background:#f9fafb;border-color:#c7d2fe}.wf-row-trigger.filtered{color:#6366f1;background:#f5f3ff;border-color:#c7d2fe;font-weight:600}.wf-row-trigger span{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.wf-row-arrow{color:#9ca3af;flex-shrink:0;transition:transform .2s}.wf-row-arrow.open{transform:rotate(180deg)}.wf-row-menu{z-index:10000;background:#fff;border:1px solid #e5e7eb;border-radius:10px;min-width:100px;max-height:180px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.wf-row-option{cursor:pointer;color:#374151;text-align:left;background:0 0;border:none;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:5px 8px;font-size:11px;transition:background .1s;display:flex}.wf-row-option:hover{background:#f3f4f6}.wf-row-option.active{color:#6366f1;background:#f5f3ff;font-weight:600}.wf-row-option.active:hover{background:#ede9fe}.dashboard-widget-loading{flex-direction:column;gap:8px;padding:16px;display:flex}.dashboard-widget-skeleton{background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb,#f3f4f6 75%) 0 0/200% 100%;border-radius:4px;height:14px;animation:1.5s infinite shimmer}.dashboard-widget-skeleton.short{width:60%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.dashboard-widget-error{color:#ef4444;justify-content:center;align-items:center;padding:16px;font-size:12px;display:flex}.dashboard-chart-empty{color:#9ca3af;justify-content:center;align-items:center;height:100%;font-size:12px;display:flex}.dashboard-metric{flex-direction:column;justify-content:center;align-items:center;gap:4px;height:100%;padding:12px 16px;display:flex}.dashboard-metric-value{letter-spacing:-.5px;font-size:28px;font-weight:700;line-height:1.2}.dashboard-metric-subtitle{color:#6b7280;font-size:11px;font-weight:500}.dashboard-metric-trend{align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.dashboard-metric-trend.up{color:#10b981}.dashboard-metric-trend.down{color:#ef4444}.dashboard-metric-trend.neutral{color:#6b7280}.dashboard-metric-comparison{color:#9ca3af;margin-left:2px;font-size:10px;font-weight:400}.dashboard-data-table{width:100%;height:100%;overflow:auto}.dashboard-data-table table{border-collapse:collapse;width:100%;font-size:11px}.dashboard-data-table th{text-align:left;color:#374151;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;z-index:1;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:6px 10px;font-weight:600;position:sticky;top:0}.dashboard-data-table th:hover{background:#f3f4f6}.dashboard-table-header{align-items:center;gap:4px;display:flex}.dashboard-data-table td{color:#4b5563;border-bottom:1px solid #f3f4f6;padding:5px 10px}.dashboard-data-table tr:hover td{background:#f9fafb}.dashboard-table-badge{border-radius:10px;padding:2px 8px;font-size:10px;font-weight:500;display:inline-block}.dashboard-table-overflow{text-align:center;color:#9ca3af;padding:8px;font-size:10px}.dashboard-insights{background:#fff;border:1px solid #e5e7eb;border-radius:12px;margin:0 16px 16px;overflow:hidden}.dashboard-insights-toggle{cursor:pointer;color:#374151;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:10px 16px;font-size:13px;font-weight:600;display:flex}.dashboard-insights-toggle:hover{background:#f9fafb}.dashboard-insights-list{flex-direction:column;gap:8px;padding:0 16px 12px;display:flex}.dashboard-insight-item{border-bottom:1px solid #f3f4f6;gap:10px;padding:8px 0;display:flex}.dashboard-insight-item:last-child{border-bottom:none}.dashboard-insight-icon{flex-shrink:0;margin-top:2px}.dashboard-insight-content{flex:1}.dashboard-insight-content p{color:#4b5563;margin:0 0 4px;font-size:12px;line-height:1.4}.dashboard-insight-confidence{background:#f3f4f6;border-radius:2px;height:3px;overflow:hidden}.dashboard-insight-bar{border-radius:2px;height:100%;transition:width .3s}.dashboard-dialog-overlay{z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dashboard-dialog{background:#fff;border-radius:16px;width:520px;max-width:90vw;max-height:85vh;overflow:auto;box-shadow:0 20px 60px #0003}.dashboard-dialog-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dashboard-dialog-header h2{color:#1f2937;margin:0;font-size:16px;font-weight:600}.dashboard-dialog-close{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:6px;padding:4px}.dashboard-dialog-close:hover{color:#6b7280;background:#f3f4f6}.dashboard-dialog-content{flex-direction:column;gap:16px;padding:20px;display:flex}.dashboard-dialog-field{flex-direction:column;gap:6px;display:flex}.dashboard-dialog-field label{color:#374151;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.dashboard-dialog-input{color:#1f2937;border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:8px 12px;font-size:13px;transition:border-color .15s}.dashboard-dialog-input:focus{border-color:#6366f1}.dashboard-dialog-textarea{color:#1f2937;resize:vertical;border:1px solid #e5e7eb;border-radius:8px;outline:none;padding:10px 12px;font-family:inherit;font-size:13px;line-height:1.5;transition:border-color .15s}.dashboard-dialog-textarea:focus{border-color:#6366f1}.dashboard-dialog-hint{color:#9ca3af;font-size:10px}.dashboard-dialog-empty-state{text-align:center;background:#f9fafb;border:1.5px dashed #d1d5db;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;padding:24px 16px;display:flex}.dashboard-dialog-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 12px;font-size:12px}.dashboard-dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dashboard-dialog-btn{cursor:pointer;color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.dashboard-dialog-btn:hover{background:#f3f4f6}.dashboard-dialog-btn.primary{color:#fff;background:linear-gradient(135deg,#6366f1,#7c3aed);border:none}.dashboard-dialog-btn.primary:hover{opacity:.9}.dashboard-dialog-btn:disabled{opacity:.6;cursor:not-allowed}.dashboard-source-options{gap:10px;display:flex}.dashboard-source-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.dashboard-source-btn{cursor:pointer;color:#6b7280;background:#fff;border:2px solid #e5e7eb;border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:6px;padding:16px 12px;transition:all .15s;display:flex}.dashboard-source-btn:hover{background:#f5f3ff;border-color:#c7d2fe}.dashboard-source-btn.active{color:#6366f1;background:#f5f3ff;border-color:#6366f1}.dashboard-source-btn span{font-size:13px;font-weight:600}.dashboard-source-btn small{color:#9ca3af;font-size:10px}.dashboard-spinner{animation:1s linear infinite spin}.react-grid-layout{position:relative}.react-grid-item{transition:all .2s!important}.react-grid-item.react-grid-placeholder{opacity:1!important;background:#6366f126!important;border:2px dashed #6366f1!important;border-radius:12px!important}.react-resizable-handle{opacity:0;transition:opacity .15s}.react-grid-item:hover .react-resizable-handle{opacity:1}.react-resizable-handle:after{border-color:#6366f1!important}.dashboard-grid-viewonly .react-grid-item{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:default!important}.dashboard-grid-viewonly .react-grid-item:focus,.dashboard-grid-viewonly .react-grid-item:focus-within,.dashboard-grid-viewonly .react-grid-item:active{box-shadow:none!important;border:none!important;outline:none!important}.dashboard-grid-viewonly .react-grid-item>div:focus,.dashboard-grid-viewonly .react-grid-item>div:focus-visible{outline:none!important}.dashboard-grid-viewonly .react-resizable-handle,.dashboard-grid-viewonly .react-grid-item.react-grid-placeholder{display:none!important}.cpm-dialog-overlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cpm-dialog{background:#fff;border-radius:12px;flex-direction:column;width:500px;max-width:90vw;max-height:90vh;animation:.2s ease-out cpm-dialog-enter;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000004d}@keyframes cpm-dialog-enter{0%{opacity:0;transform:scale(.95)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.cpm-dialog-wide{width:800px}.cpm-dialog-header{background:linear-gradient(135deg,#f8f9fa,#fff);border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.cpm-dialog-title{color:#1f2937;align-items:center;gap:10px;font-size:16px;font-weight:600;display:flex}.cpm-dialog-title svg{color:#8b5cf6}.cpm-dialog-close{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:6px;padding:6px;transition:all .15s}.cpm-dialog-close:hover{color:#1f2937;background:#f3f4f6}.cpm-dialog-content{flex:1;padding:20px;overflow-y:auto}.cpm-dialog-split{gap:24px;display:flex}.cpm-dialog-panel{flex:1;min-width:0}.cpm-dialog-panel h3{color:#374151;border-bottom:2px solid #8b5cf6;margin:0 0 16px;padding-bottom:8px;font-size:14px;font-weight:600}.cpm-results-panel{background:#f8f9fa;border-radius:8px;padding:16px}.cpm-dialog-section{margin-bottom:24px}.cpm-dialog-section h3{color:#374151;margin:0 0 16px;font-size:14px;font-weight:600}.cpm-dialog-footer{background:#f9fafb;border-top:1px solid #e5e7eb;align-items:center;gap:12px;padding:16px 20px;display:flex}.cpm-form-group{margin-bottom:16px}.cpm-form-group label{color:#6b7280;margin-bottom:6px;font-size:12px;font-weight:500;display:block}.cpm-input,.cpm-select{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;padding:10px 12px;font-size:14px;transition:all .15s}.cpm-select{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='%236b7280' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.cpm-input:hover,.cpm-select:hover{background-color:#faf5ff;border-color:#a78bfa}.cpm-input:focus,.cpm-select:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 3px #7c3aed26}.cpm-select option{color:#1f2937;background:#fff;padding:10px 12px}.cpm-select option:checked{color:#fff;background:#8b5cf6}.cpm-input-small{color:#1f2937;background:#fff;border:1px solid #d1d5db;border-radius:4px;flex:1;min-width:0;padding:6px 10px;font-size:13px}.cpm-select-small{color:#1f2937;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#fff 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='%236b7280' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E") right 8px center no-repeat;border:1px solid #d1d5db;border-radius:4px;padding:6px 28px 6px 10px;font-size:12px}.cpm-form-hint{color:#9ca3af;margin-top:4px;font-size:11px;display:block}.cpm-form-row{gap:16px;display:flex}.cpm-form-row .cpm-form-group{flex:1}.cpm-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;transition:all .15s;display:inline-flex}.cpm-btn:hover{background:#f3f4f6;border-color:#9ca3af}.cpm-btn:disabled{opacity:.5;cursor:not-allowed}.cpm-btn-primary{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:#7c3aed}.cpm-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9);border-color:#6d28d9}.cpm-btn-full{width:100%}.cpm-btn-icon{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px;transition:all .15s}.cpm-btn-icon:hover{color:#1f2937;background:#f3f4f6}.cpm-btn-danger:hover{color:#dc2626;background:#fef2f2}.cpm-field-section{background:#f9fafb;border-radius:8px;margin-bottom:16px;padding:12px}.cpm-field-header{color:#374151;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:500;display:flex}.cpm-field-list{flex-direction:column;gap:8px;display:flex}.cpm-field-item{background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.cpm-field-type{color:#9ca3af;background:#f3f4f6;border-radius:4px;padding:2px 6px;font-size:11px}.cpm-empty-state{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;padding:32px;font-size:13px;display:flex}.cpm-empty-state svg{opacity:.5;margin-bottom:12px}.cpm-review-summary{background:#f8f9fa;border-radius:8px;padding:16px}.cpm-review-item{border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:8px 0;display:flex}.cpm-review-item:last-child{border-bottom:none}.cpm-review-label{color:#6b7280;font-size:13px}.cpm-review-value{color:#1f2937;font-weight:500}.cpm-ai-suggestion{background:linear-gradient(135deg,#f5f3ff,#ede9fe);border:1px solid #ddd6fe;border-radius:8px;margin-bottom:16px;padding:12px}.cpm-ai-suggestion-header{color:#7c3aed;align-items:center;gap:6px;margin-bottom:6px;font-size:12px;font-weight:600;display:flex}.cpm-ai-suggestion p{color:#4c1d95;margin:0;font-size:13px;line-height:1.5}.cpm-ai-confidence{color:#6d28d9;background:#8b5cf633;border-radius:12px;margin-top:8px;padding:2px 8px;font-size:11px;display:inline-block}.cpm-metrics-grid{grid-template-columns:repeat(2,1fr);gap:12px;margin-bottom:16px;display:grid}.cpm-metric{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.cpm-metric-label{color:#6b7280;margin-bottom:4px;font-size:11px;display:block}.cpm-metric-value{color:#1f2937;font-size:18px;font-weight:600}.cpm-predictions-table{background:#fff;border-radius:8px;overflow:hidden}.cpm-predictions-table h4{color:#374151;background:#f3f4f6;border-bottom:1px solid #e5e7eb;margin:0;padding:10px 12px;font-size:12px;font-weight:600}.cpm-predictions-table table{border-collapse:collapse;width:100%;font-size:12px}.cpm-predictions-table th,.cpm-predictions-table td{text-align:right;border-bottom:1px solid #f3f4f6;padding:8px 12px}.cpm-predictions-table th{color:#6b7280;background:#fafafa;font-weight:500}.cpm-predictions-table td:first-child,.cpm-predictions-table th:first-child{text-align:left}.cpm-warnings{margin-top:12px}.cpm-warning-item{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;align-items:flex-start;gap:8px;margin-bottom:6px;padding:8px 10px;font-size:12px;display:flex}.cpm-warning-item svg{flex-shrink:0;margin-top:1px}.cpm-error-message{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;margin-top:12px;padding:10px 12px;font-size:13px}.cpm-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:6px;min-width:150px;max-height:200px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.cpm-dropdown-item{color:#374151;cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:12px;transition:background .15s;display:flex}.cpm-dropdown-item:hover{background:#f3f4f6}.cpm-dropdown-item.active{color:#7c3aed;background:#f5f3ff}.cpm-ai-btn{color:#fff!important;background:linear-gradient(135deg,#8b5cf6,#ec4899)!important;border:none!important}.cpm-ai-btn:hover{background:linear-gradient(135deg,#7c3aed,#db2777)!important}.variance-dialog{max-height:80vh}.variance-summary-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.variance-summary-label{color:#6b7280;margin-bottom:4px;font-size:11px}.variance-summary-value{color:#1f2937;font-size:20px;font-weight:600}.variance-summary-value.positive{color:#059669}.variance-summary-value.negative{color:#dc2626}.variance-summary-percent{color:#6b7280;justify-content:center;align-items:center;gap:4px;margin-top:4px;font-size:12px;display:flex}.variance-table{border-collapse:collapse;width:100%;font-size:12px}.variance-table th{text-align:left;color:#6b7280;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 12px;font-weight:500;position:sticky;top:0}.variance-table td{border-bottom:1px solid #f3f4f6;padding:8px 12px}.variance-table .positive{color:#059669}.variance-table .negative{color:#dc2626}.variance-row.unfavorable{background:#fef2f2}.variance-row.favorable{background:#f0fdf4}.status-icon{display:inline-block}.status-icon.favorable{color:#059669}.status-icon.unfavorable{color:#dc2626}.status-icon.neutral{color:#6b7280}.variance-insights{background:#f8f9fa;border-radius:8px;padding:12px}.variance-insights ul{color:#4b5563;font-size:13px;line-height:1.6}.kpi-type-selector{gap:8px;display:flex}.kpi-type-btn{color:#6b7280;cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px 8px;transition:all .15s;display:flex}.kpi-type-btn:hover{background:#f9fafb;border-color:#d1d5db}.kpi-type-btn.active{color:#7c3aed;background:#f5f3ff;border-color:#8b5cf6}.kpi-type-btn span{font-size:11px}.kpi-preview-card{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:100%;min-height:140px;padding:16px}.kpi-preview-card.good{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#bbf7d0}.kpi-preview-card.warning{background:linear-gradient(135deg,#fffbeb,#fef3c7);border-color:#fde68a}.kpi-preview-card.bad{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-color:#fecaca}.kpi-preview-name{color:#6b7280;margin-bottom:8px;font-size:12px}.kpi-preview-value{color:#1f2937;margin-bottom:4px;font-size:28px;font-weight:700}.kpi-preview-target{color:#9ca3af;margin-bottom:8px;font-size:11px}.kpi-preview-achievement{margin-top:4px}.kpi-preview-achievement .achievement{border-radius:12px;align-items:center;gap:4px;padding:4px 8px;font-size:13px;font-weight:600;display:inline-flex}.kpi-preview-achievement .achievement.good{color:#059669;background:#dcfce7}.kpi-preview-achievement .achievement.warning{color:#d97706;background:#fef3c7}.kpi-preview-achievement .achievement.bad{color:#dc2626;background:#fee2e2}.kpi-gauge-preview{background:#e5e7eb;border-radius:4px;height:8px;margin-top:12px;overflow:hidden}.kpi-gauge-fill{border-radius:4px;height:100%;transition:width .3s}.kpi-bullet-preview{margin-top:12px}.kpi-bullet-track{background:#e5e7eb;border-radius:4px;height:16px;position:relative;overflow:hidden}.kpi-bullet-range{height:100%;position:absolute;top:0;left:0}.kpi-bullet-marker{background:#1f2937;border-radius:2px;width:3px;height:100%;position:absolute;top:0;transform:translate(-50%)}.threshold-list{flex-direction:column;gap:8px;display:flex}.threshold-item{background:#f9fafb;border-radius:6px;align-items:center;gap:8px;padding:8px;display:flex}.threshold-item input[type=number]{border:1px solid #d1d5db;border-radius:4px;width:60px;padding:4px 8px;font-size:12px}.threshold-item input[type=text]{border:1px solid #d1d5db;border-radius:4px;flex:1;padding:4px 8px;font-size:12px}.threshold-item span{color:#6b7280;font-size:12px}.ribbon-btn-medium{flex-direction:column;align-items:center;gap:4px;min-width:60px;padding:8px 12px;display:flex}.ribbon-btn-medium span{font-size:11px}.ribbon-btn-small{align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:flex}.ribbon-separator-v{background:#e5e7eb;width:1px;height:32px;margin:0 4px}.cube-dialog-content{gap:16px;min-height:400px;display:flex}.cube-fields-panel{flex-direction:column;flex-shrink:0;gap:12px;width:200px;display:flex}.cube-fields-section{background:#f9fafb;border-radius:8px;padding:12px}.cube-fields-section h4{color:#6b7280;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:600}.cube-field-list{flex-direction:column;gap:4px;max-height:150px;display:flex;overflow-y:auto}.cube-field-item{cursor:grab;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;transition:all .15s;display:flex}.cube-field-item:hover{background:#faf5ff;border-color:#8b5cf6}.cube-field-item.dragging{opacity:.5;cursor:grabbing}.cube-builder-area{flex-direction:column;flex:1;gap:12px;display:flex}.cube-drop-zones{grid-template-columns:1fr 1fr;gap:12px;display:grid}.cube-drop-zone{background:#f9fafb;border:2px dashed #e5e7eb;border-radius:8px;min-height:100px;padding:12px;transition:all .2s}.cube-drop-zone.drag-over{background:#faf5ff;border-color:#8b5cf6}.cube-drop-zone h4{color:#374151;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.cube-drop-zone h4 svg{color:#8b5cf6}.cube-drop-placeholder{color:#9ca3af;text-align:center;padding:16px;font-size:11px}.cube-dropped-fields{flex-wrap:wrap;gap:6px;display:flex}.cube-field-chip{background:#fff;border:1px solid #e5e7eb;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:flex}.cube-field-chip button{cursor:pointer;color:#9ca3af;background:0 0;border:none;padding:0;display:flex}.cube-field-chip button:hover{color:#ef4444}.cube-preview-area{background:#f9fafb;border-radius:8px;flex:1;padding:12px;overflow:auto}.cube-preview-area h4{color:#374151;margin-bottom:12px;font-size:12px;font-weight:600}.cube-renderer{max-height:100%;overflow:auto}.cube-table{border-collapse:collapse;width:100%;font-size:12px}.cube-table th,.cube-table td{text-align:right;white-space:nowrap;border:1px solid #e5e7eb;padding:8px 12px}.cube-table th{color:#374151;background:#f3f4f6;font-weight:600}.cube-corner{vertical-align:bottom;text-align:left!important}.cube-dim-label{color:#6b7280;text-transform:uppercase;font-size:10px}.cube-col-dim-header{color:#6d28d9;text-align:center!important;background:#ede9fe!important}.cube-col-header{background:#f9fafb}.cube-measure-header{color:#6b7280;background:#fafafa;font-size:10px;font-weight:500}.cube-row-header{background:#f9fafb;font-weight:500;text-align:left!important}.cube-data-cell:hover{background:#f3f4f6}.cube-subtotal{font-weight:600;background:#f3f4f6!important}.cube-subtotal-row{background:#f9fafb}.cube-total{font-weight:600;background:#e5e7eb!important}.cube-grand-total{font-weight:700;background:#d1d5db!important}.cube-totals-row{border-top:2px solid #9ca3af}.cube-expand-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;margin-right:4px;padding:2px;display:inline-flex}.cube-expand-btn:hover{color:#8b5cf6}.cube-expand-placeholder{color:#d1d5db;width:16px;margin-right:4px;display:inline-flex}.cube-empty-state,.cube-no-data{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;padding:32px;font-size:13px;display:flex}.cube-settings{gap:16px;margin-bottom:20px;display:flex}.cube-settings .cpm-form-group{flex:1;margin-bottom:0}.cube-builder-layout{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;gap:16px;min-height:320px;padding:16px;display:flex}.cube-field-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;flex-shrink:0;width:220px;display:flex;overflow:hidden}.cube-field-panel.available-fields{background:#fff}.cube-field-panel .panel-header{color:#374151;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:12px;font-size:12px;font-weight:600;display:flex}.cube-field-panel .panel-content{flex:1;padding:8px;overflow-y:auto}.cube-field-panel .panel-empty{text-align:center;color:#9ca3af;padding:20px;font-size:12px}.field-group{margin-bottom:12px}.field-group:last-child{margin-bottom:0}.field-group-label{text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:4px;padding:4px 8px;font-size:10px;font-weight:600;display:block}.cube-field-item{color:#374151;cursor:grab;background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;font-size:12px;transition:all .15s;display:flex}.cube-field-item:hover{background:#faf5ff;border-color:#8b5cf6;box-shadow:0 2px 4px #8b5cf61a}.cube-field-item:active{cursor:grabbing}.cube-field-item svg{color:#9ca3af;flex-shrink:0}.cube-field-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.cube-field-item.dimension{border-left:3px solid #3b82f6}.cube-field-item.measure{border-left:3px solid #10b981}.field-add-buttons{gap:4px;margin-left:auto;display:flex}.field-add-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:all .15s;display:flex}.field-add-btn:hover{color:#fff;background:#8b5cf6;border-color:#8b5cf6}.cube-drop-areas{flex-direction:column;flex:1;gap:12px;display:flex}.cube-drop-area{background:#fff;border:2px dashed #d1d5db;border-radius:8px;flex-direction:column;flex:1;min-height:80px;transition:all .2s;display:flex}.cube-drop-area.drag-over{background:linear-gradient(135deg,#faf5ff,#f5f3ff);border-color:#8b5cf6;box-shadow:0 0 0 4px #8b5cf61a}.drop-area-header{color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;border-radius:6px 6px 0 0;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.drop-area-header svg{color:#8b5cf6}.drop-area-content{flex-wrap:wrap;flex:1;align-content:flex-start;gap:6px;padding:10px 12px;display:flex}.drop-placeholder{color:#9ca3af;text-align:center;justify-content:center;align-items:center;width:100%;padding:12px;font-size:11px;font-style:italic;display:flex}.cube-field-chip{color:#374151;cursor:grab;background:#fff;border:1px solid #e5e7eb;border-radius:16px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;font-weight:500;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0000000d}.cube-field-chip:hover{border-color:#d1d5db;box-shadow:0 2px 4px #0000001a}.cube-field-chip.dimension{color:#1d4ed8;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd}.cube-field-chip.measure{color:#047857;background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-color:#6ee7b7}.cube-field-chip svg{color:#9ca3af;flex-shrink:0}.cube-field-chip span{white-space:nowrap}.chip-remove{color:#9ca3af;cursor:pointer;background:#0000000d;border:none;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;margin-left:2px;padding:0;transition:all .15s;display:flex}.chip-remove:hover{color:#fff;background:#ef4444}.cube-preview-hint{color:#166534;background:linear-gradient(135deg,#f0fdf4,#dcfce7);border:1px solid #86efac;border-radius:8px;align-items:center;gap:8px;margin-top:12px;padding:12px 16px;font-size:12px;display:flex}.cube-preview-hint svg{color:#22c55e;flex-shrink:0}.slicer-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.slicer-panel.has-filter{border-color:#8b5cf6}.slicer-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.slicer-title svg{color:#8b5cf6}.slicer-clear-btn{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;padding:4px;display:flex}.slicer-search{border-bottom:1px solid #e5e7eb;align-items:center;gap:8px;padding:8px 12px;display:flex}.slicer-search svg{color:#9ca3af;flex-shrink:0}.slicer-toolbar{border-bottom:1px solid #e5e7eb;gap:4px;padding:8px 12px;display:flex}.slicer-action-btn{color:#6b7280;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;padding:4px 8px;font-size:11px;transition:all .15s}.slicer-action-btn:hover:not(:disabled){background:#e5e7eb}.slicer-action-btn:disabled{opacity:.5;cursor:not-allowed}.slicer-action-btn.active{color:#7c3aed;background:#ede9fe;border-color:#8b5cf6}.slicer-members-list{max-height:200px;overflow-y:auto}.slicer-member-item{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;transition:background .1s;display:flex}.slicer-member-item:hover{background:#f9fafb}.slicer-member-item.selected{background:#faf5ff}.slicer-member-item.excluded{opacity:.5}.slicer-checkbox{border:2px solid #d1d5db;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:all .15s;display:flex}.slicer-checkbox.checked{color:#fff;background:#8b5cf6;border-color:#8b5cf6}.slicer-member-label{color:#374151;flex:1;font-size:12px}.slicer-excluded-badge{color:#ef4444;background:#fee2e2;border-radius:4px;padding:2px 6px;font-size:10px}.slicer-footer{background:#f9fafb;border-top:1px solid #e5e7eb;padding:8px 12px}.slicer-count{color:#6b7280;font-size:11px}.slicer-no-results{text-align:center;color:#9ca3af;padding:16px;font-size:12px}.slicer-compact-btn{cursor:pointer;text-align:left;background:#fff;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:6px;width:100%;padding:6px 10px;font-size:12px;transition:all .15s;display:flex}.slicer-compact-btn.has-filter{background:#faf5ff;border-color:#8b5cf6}.slicer-name{color:#374151;font-weight:500}.slicer-summary{text-align:right;color:#6b7280;flex:1}.slicer-dropdown{z-index:100;background:#fff;border:1px solid #e5e7eb;border-radius:8px;margin-top:4px;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 25px #00000026}.slicer-dropdown .slicer-search{border-bottom:1px solid #e5e7eb}.slicer-dropdown .slicer-actions{border-bottom:1px solid #e5e7eb;gap:8px;padding:8px;display:flex}.slicer-dropdown .slicer-actions button{cursor:pointer;background:#f3f4f6;border:none;border-radius:4px;flex:1;padding:4px 8px;font-size:11px}.slicer-dropdown .slicer-actions button:hover{background:#e5e7eb}.slicer-dropdown .slicer-member{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;display:flex}.slicer-dropdown .slicer-member input{cursor:pointer}.cube-slicer-panel{background:#fff;border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.cube-slicer-panel.compact{background:0 0;border:none}.cube-slicer-header{color:#374151;background:#f9fafb;border-bottom:1px solid #e5e7eb;align-items:center;gap:6px;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.cube-slicer-header svg{color:#8b5cf6}.cube-slicer-badge{color:#fff;background:#8b5cf6;border-radius:10px;margin-left:auto;padding:2px 6px;font-size:10px}.cube-slicer-list{background:#e5e7eb;flex-direction:column;gap:1px;display:flex}.cube-slicer-panel.compact .cube-slicer-header{display:none}.cube-slicer-panel.compact .cube-slicer-list{background:0 0;flex-direction:column;gap:8px;display:flex}.cube-slicer-empty{text-align:center;color:#9ca3af;padding:16px;font-size:12px}.cpm-dialog-wizard{width:700px}.forecast-wizard-steps{background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:center;align-items:center;gap:4px;padding:16px 20px;display:flex}.forecast-wizard-step-btn{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:20px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;transition:all .15s;display:flex}.forecast-wizard-step-btn:disabled{cursor:not-allowed;opacity:.5}.forecast-wizard-step-btn:not(:disabled):hover{border-color:#d1d5db}.forecast-wizard-step-btn.active{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:#7c3aed}.forecast-wizard-step-btn.complete{color:#166534;background:#dcfce7;border-color:#86efac}.forecast-wizard-step-btn .step-number{background:#f3f4f6;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:11px;font-weight:600;display:flex}.forecast-wizard-step-btn.active .step-number{color:#fff;background:#fff3}.forecast-wizard-step-btn.complete .step-number{color:#fff;background:#166534}.forecast-wizard-step-btn .step-label{font-weight:500}.forecast-wizard-step{padding:4px 0}.forecast-wizard-step h3{color:#1f2937;margin:0 0 8px;font-size:16px;font-weight:600}.forecast-wizard-desc{color:#6b7280;margin:0 0 20px;font-size:13px;line-height:1.5}.forecast-data-preview{background:#f9fafb;border-radius:8px;margin-top:16px;padding:12px}.forecast-data-preview h4{color:#374151;margin:0 0 8px;font-size:12px;font-weight:600}.forecast-data-values{flex-wrap:wrap;gap:6px;display:flex}.forecast-data-value{color:#374151;background:#fff;border:1px solid #e5e7eb;border-radius:4px;padding:4px 8px;font-family:SF Mono,monospace;font-size:12px}.forecast-data-more{color:#9ca3af;padding:4px 8px;font-size:12px}.forecast-method-grid{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.forecast-method-card{cursor:pointer;text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;transition:all .15s;display:flex;position:relative}.forecast-method-card:hover{background:#f9fafb;border-color:#d1d5db}.forecast-method-card.active{background:#faf5ff;border-color:#8b5cf6}.forecast-method-name{color:#1f2937;font-size:13px;font-weight:600}.forecast-method-desc{color:#6b7280;font-size:11px}.forecast-method-check{color:#8b5cf6;position:absolute;top:8px;right:8px}.forecast-ai-rec{margin-top:0}.forecast-ai-details{justify-content:space-between;align-items:center;margin-top:10px;display:flex}.forecast-ai-warnings{flex-direction:column;gap:6px;margin-top:10px;display:flex}.forecast-ai-warning{color:#6d28d9;align-items:flex-start;gap:6px;font-size:11px;display:flex}.forecast-seasonality-section{background:#f9fafb;border-radius:8px;margin-top:20px;padding:16px}.forecast-checkbox-label{color:#374151;cursor:pointer;align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.forecast-checkbox-label input[type=checkbox]{accent-color:#8b5cf6;width:16px;height:16px}.cpm-info-box{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-items:center;gap:8px;margin-top:10px;padding:10px 12px;font-size:12px;display:flex}.cpm-warning-message{color:#92400e;background:#fffbeb;border:1px solid #fcd34d;border-radius:6px;align-items:center;gap:8px;margin-top:12px;padding:10px 12px;font-size:12px;display:flex}.forecast-preview-step{min-height:350px}.forecast-preview-chart{margin-bottom:20px}.forecast-preview-metrics{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.forecast-metric{text-align:center;background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.forecast-metric-label{color:#6b7280;margin-bottom:4px;font-size:11px;display:block}.forecast-metric-value{color:#1f2937;font-size:18px;font-weight:600}.forecast-metric-value.excellent{color:#059669}.forecast-metric-value.good{color:#0891b2}.forecast-metric-value.fair{color:#d97706}.forecast-metric-value.poor{color:#dc2626}.forecast-preview-warnings{margin-top:12px}.forecast-save-summary{background:#f9fafb;border-radius:8px;margin-top:20px;padding:16px}.forecast-save-summary h4{color:#374151;margin:0 0 12px;font-size:13px;font-weight:600}.forecast-summary-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.forecast-summary-item{flex-direction:column;gap:2px;display:flex}.forecast-summary-item .label{color:#6b7280;font-size:11px}.forecast-summary-item .value{color:#1f2937;font-size:13px;font-weight:500}.cpm-btn-small{padding:6px 12px;font-size:12px}.forecast-chart-container{width:100%;position:relative}.forecast-chart-title{color:#374151;text-align:center;margin-bottom:12px;font-size:14px;font-weight:600}.forecast-chart-svg{width:100%;height:auto;display:block}.forecast-chart-legend{flex-wrap:wrap;justify-content:center;gap:20px;margin-top:12px;display:flex}.forecast-legend-item{color:#6b7280;align-items:center;gap:6px;font-size:11px;display:flex}.forecast-legend-color{border-radius:2px;width:16px;height:4px}.forecast-legend-dashed{background:repeating-linear-gradient(90deg,currentColor 0 4px,#0000 4px 8px)!important}.forecast-legend-band{border-radius:3px;height:12px}.trend-analysis{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px}.trend-analysis-empty{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex}.trend-analysis-empty svg{opacity:.5;margin-bottom:8px}.trend-analysis-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.trend-title-section{align-items:flex-start;gap:12px;display:flex}.trend-icon{background:#f3f4f6;border-radius:8px;padding:8px}.trend-icon.trend-up{color:#059669;background:#dcfce7}.trend-icon.trend-down{color:#dc2626;background:#fee2e2}.trend-icon.trend-stable{color:#6b7280;background:#f3f4f6}.trend-icon.trend-volatile{color:#d97706;background:#fef3c7}.trend-title-text h4{color:#1f2937;margin:0 0 4px;font-size:16px;font-weight:600}.trend-title-text h4.trend-strength-strong{color:#059669}.trend-title-text h4.trend-strength-moderate{color:#0891b2}.trend-title-text h4.trend-strength-weak{color:#6b7280}.trend-strength-label{color:#6b7280;font-size:12px}.trend-sparkline-large{width:120px;height:40px}.trend-metrics-grid{grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;display:grid}.trend-metric{background:#f9fafb;border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.trend-metric-icon{color:#6b7280;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.trend-metric-content{flex-direction:column;gap:2px;display:flex}.trend-metric-label{color:#6b7280;font-size:11px}.trend-metric-value{color:#1f2937;font-size:14px;font-weight:600}.trend-metric-value.positive{color:#059669}.trend-metric-value.negative{color:#dc2626}.trend-seasonality{background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;margin-bottom:12px;padding:12px}.trend-seasonality-header{color:#1e40af;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;font-weight:600;display:flex}.trend-seasonality p{color:#1e40af;margin:0;font-size:12px}.trend-outliers{background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;margin-bottom:12px;padding:12px}.trend-outliers-header{color:#92400e;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;font-weight:600;display:flex}.trend-outliers p{color:#92400e;margin:0;font-size:12px}.trend-change-points{background:#faf5ff;border:1px solid #e9d5ff;border-radius:8px;padding:12px}.trend-change-points-header{color:#6d28d9;align-items:center;gap:6px;margin-bottom:4px;font-size:12px;font-weight:600;display:flex}.trend-change-points p{color:#6d28d9;margin:0;font-size:12px}.trend-analysis-compact{background:#fff;border:1px solid #e5e7eb;border-radius:8px;align-items:center;gap:12px;padding:10px 14px;display:flex}.trend-compact-header{align-items:center;gap:8px;display:flex}.trend-compact-header .trend-direction{color:#1f2937;font-size:13px;font-weight:600}.trend-compact-stats{align-items:center;gap:12px;display:flex}.trend-change{font-size:13px;font-weight:600}.trend-change.positive{color:#059669}.trend-change.negative{color:#dc2626}.trend-volatility{color:#6b7280;font-size:11px}.trend-sparkline{width:80px;height:24px;margin-left:auto}.kpi-dashboard-dialog{flex-direction:column;width:900px;max-width:95vw;max-height:85vh;display:flex}.kpi-dashboard-dialog.fullscreen{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh}.kpi-dashboard-count{color:#6b7280;background:#f3f4f6;border-radius:12px;margin-left:8px;padding:2px 8px;font-size:12px;font-weight:400}.kpi-dashboard-header-actions{align-items:center;gap:8px;display:flex}.kpi-view-toggle{background:#f3f4f6;border-radius:6px;padding:2px;display:flex}.kpi-view-btn{cursor:pointer;color:#6b7280;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;transition:all .15s;display:flex}.kpi-view-btn:hover{color:#374151}.kpi-view-btn.active{color:#7c3aed;background:#fff;box-shadow:0 1px 3px #0000001a}.kpi-dashboard-content{min-height:400px;padding:20px;overflow-y:auto}.kpi-dashboard-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;display:grid}.kpi-dashboard-list{flex-direction:column;gap:8px;display:flex}.kpi-dashboard-empty{color:#9ca3af;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:60px 20px;display:flex}.kpi-dashboard-empty svg{opacity:.5;margin-bottom:16px}.kpi-dashboard-empty h3{color:#374151;margin:0 0 8px;font-size:18px;font-weight:600}.kpi-dashboard-empty p{color:#6b7280;margin:0 0 20px;font-size:14px}.kpi-add-card{color:#9ca3af;cursor:pointer;background:0 0;border:2px dashed #d1d5db;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:140px;font-size:13px;transition:all .2s;display:flex}.kpi-add-card:hover{color:#8b5cf6;background:#faf5ff;border-color:#8b5cf6}.kpi-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;flex-direction:column;padding:16px;transition:all .2s;display:flex;position:relative;overflow:hidden}.kpi-card:hover{box-shadow:0 4px 12px #0000001a}.kpi-card.kpi-status-good{border-left:4px solid #22c55e}.kpi-card.kpi-status-warning{border-left:4px solid #f59e0b}.kpi-card.kpi-status-bad{border-left:4px solid #ef4444}.kpi-card.kpi-status-neutral{border-left:4px solid #6b7280}.kpi-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.kpi-card-name{color:#6b7280;font-size:12px;font-weight:500;line-height:1.3}.kpi-card-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.kpi-card:hover .kpi-card-actions{opacity:1}.kpi-card-action-btn{color:#6b7280;cursor:pointer;background:#f3f4f6;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;transition:all .15s;display:flex}.kpi-card-action-btn:hover{color:#374151;background:#e5e7eb}.kpi-card-action-btn-danger:hover{color:#dc2626;background:#fee2e2}.kpi-card-body{flex-direction:column;flex:1;gap:8px;display:flex}.kpi-card-value{font-variant-numeric:tabular-nums;font-size:28px;font-weight:700;line-height:1}.kpi-card-target{color:#9ca3af;align-items:center;gap:4px;font-size:11px;display:flex}.kpi-card-change{align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.kpi-card-change.positive{color:#059669}.kpi-card-change.negative{color:#dc2626}.kpi-card-achievement{margin-top:4px}.kpi-achievement-badge{border-radius:12px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:600;display:inline-flex}.kpi-achievement-badge.kpi-achievement-good{color:#059669;background:#dcfce7}.kpi-achievement-badge.kpi-achievement-warning{color:#d97706;background:#fef3c7}.kpi-achievement-badge.kpi-achievement-bad{color:#dc2626;background:#fee2e2}.kpi-achievement-badge.kpi-achievement-neutral{color:#6b7280;background:#f3f4f6}.kpi-card-visualization{justify-content:center;margin-top:auto;padding-top:12px;display:flex}.kpi-card-status-label{text-transform:uppercase;border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:8px;right:8px}.kpi-card-compact{flex-direction:row;align-items:center;min-height:auto;padding:12px 16px}.kpi-card-header-compact{align-items:center;gap:8px;min-width:120px;display:flex}.kpi-card-name-compact{color:#374151;font-size:13px;font-weight:500}.kpi-card-action-btn-compact{color:#9ca3af;cursor:pointer;opacity:0;background:0 0;border:none;justify-content:center;align-items:center;width:18px;height:18px;transition:opacity .15s;display:flex}.kpi-card-compact:hover .kpi-card-action-btn-compact{opacity:1}.kpi-card-action-btn-compact:hover{color:#7c3aed}.kpi-card-value-compact{text-align:right;min-width:100px;font-size:18px;font-weight:700}.kpi-card-change-compact{align-items:center;gap:4px;min-width:80px;font-size:12px;font-weight:500;display:flex}.kpi-card-change-compact.positive{color:#059669}.kpi-card-change-compact.negative{color:#dc2626}.kpi-gauge-svg{display:block}.kpi-bullet-container{background:#e5e7eb;border-radius:4px;position:relative;overflow:hidden}.kpi-bullet-range{height:100%;position:absolute;top:0}.kpi-bullet-value{border-radius:2px;height:50%;transition:width .3s;position:absolute;top:25%;left:0}.kpi-bullet-target{background:#1f2937;border-radius:2px;width:3px;height:80%;position:absolute;top:10%;transform:translate(-50%)}.kpi-progress-container{background:#e5e7eb;border-radius:4px;width:100%;height:8px;position:relative;overflow:hidden}.kpi-progress-container.compact{height:6px}.kpi-progress-fill{border-radius:4px;height:100%;transition:width .3s}.kpi-progress-text{font-size:9px;font-weight:600;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.kpi-sparkline-svg{display:block}.kpi-sparkline-empty{color:#d1d5db;justify-content:center;align-items:center;display:flex}.kpi-trend-indicator{align-items:center;gap:6px;font-weight:600;display:flex}.kpi-trend-indicator.positive{color:#059669}.kpi-trend-indicator.negative{color:#dc2626}.kpi-trend-indicator.neutral{color:#6b7280}.kpi-summary-widget{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.kpi-summary-header{color:#374151;align-items:center;gap:6px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.kpi-summary-header svg{color:#8b5cf6}.kpi-summary-stats{gap:12px;display:flex}.kpi-summary-stat{text-align:center;border-radius:6px;flex:1;padding:8px}.kpi-summary-stat.good{background:#dcfce7}.kpi-summary-stat.warning{background:#fef3c7}.kpi-summary-stat.bad{background:#fee2e2}.kpi-summary-stat .stat-value{font-size:20px;font-weight:700;line-height:1;display:block}.kpi-summary-stat.good .stat-value{color:#059669}.kpi-summary-stat.warning .stat-value{color:#d97706}.kpi-summary-stat.bad .stat-value{color:#dc2626}.kpi-summary-stat .stat-label{color:#6b7280;margin-top:4px;font-size:10px;display:block}.kpi-mini-strip{background:#f9fafb;border-radius:8px;align-items:center;gap:8px;padding:8px;display:flex}.kpi-mini-more{color:#6b7280;cursor:pointer;background:#e5e7eb;border:none;border-radius:4px;padding:4px 8px;font-size:11px}.kpi-mini-more:hover{background:#d1d5db}.kpi-mini-expand{color:#6b7280;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;display:flex}.kpi-mini-expand:hover{color:#8b5cf6;border-color:#8b5cf6}.kpi-type-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.kpi-type-card{cursor:pointer;text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:12px 8px;transition:all .15s;display:flex}.kpi-type-card:hover{background:#f9fafb;border-color:#d1d5db}.kpi-type-card.active{background:#faf5ff;border-color:#8b5cf6}.kpi-type-card svg{color:#6b7280}.kpi-type-card.active svg{color:#8b5cf6}.kpi-type-name{color:#374151;font-size:12px;font-weight:600}.kpi-type-desc{color:#9ca3af;font-size:10px}.kpi-threshold-list{flex-direction:column;gap:8px;display:flex}.kpi-threshold-item{background:#f9fafb;border-radius:6px;align-items:center;gap:8px;padding:8px 10px;display:flex}.kpi-threshold-color{border-radius:4px;flex-shrink:0;width:16px;height:16px}.kpi-threshold-item input[type=number]{border:1px solid #d1d5db;border-radius:4px;width:70px;padding:4px 8px;font-size:12px}.kpi-threshold-item input[type=text]{border:1px solid #d1d5db;border-radius:4px;flex:1;padding:4px 8px;font-size:12px}.kpi-threshold-remove{cursor:pointer;color:#9ca3af;background:0 0;border:none;border-radius:4px;padding:4px}.kpi-threshold-remove:hover{color:#dc2626;background:#fee2e2}.kpi-add-threshold-btn{color:#9ca3af;cursor:pointer;background:0 0;border:2px dashed #d1d5db;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px;font-size:12px;transition:all .15s;display:flex}.kpi-add-threshold-btn:hover{color:#8b5cf6;border-color:#8b5cf6}.cpm-dialog-cube-view{width:900px;max-width:95vw;height:80vh;max-height:90vh}.cpm-dialog-cube-view.fullscreen{border-radius:0;width:100vw;max-width:100vw;height:100vh;max-height:100vh}.cube-view-subtitle{color:#6b7280;margin-left:8px;font-size:12px;font-weight:400}.cube-view-actions{align-items:center;gap:4px;margin-right:12px;display:flex}.cube-action-btn{color:#6b7280;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;transition:all .15s;display:flex}.cube-action-btn:hover{color:#374151;background:#f3f4f6;border-color:#e5e7eb}.cube-action-btn.active{color:#7c3aed;background:#ede9fe;border-color:#c4b5fd}.cube-slicers-panel{background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:12px 20px}.slicers-header{color:#374151;align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.slicers-content{flex-wrap:wrap;gap:8px;display:flex}.cube-view-content{background:#fff;flex:1;padding:16px 20px;overflow:auto}.cube-view-content .cube-renderer{height:100%;max-height:none}.cube-view-content .cube-table{min-width:-moz-max-content;min-width:max-content}.slicer-compact{position:relative}.slicer-compact-btn{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;transition:all .15s;display:flex}.slicer-compact-btn:hover{border-color:#9ca3af}.slicer-compact-btn.has-filter{color:#7c3aed;background:#ede9fe;border-color:#c4b5fd}.slicer-compact-btn .slicer-name{font-weight:500}.slicer-compact-btn .slicer-summary{color:#6b7280;text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.slicer-dropdown{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:200px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 10px 25px #00000026}.slicer-dropdown .slicer-search{border-bottom:1px solid #e5e7eb;padding:8px}.slicer-dropdown .slicer-search input{border:1px solid #d1d5db;border-radius:4px;width:100%;padding:6px 8px;font-size:12px}.slicer-dropdown .slicer-actions{background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:8px;padding:6px 8px;display:flex}.slicer-dropdown .slicer-actions button{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:11px}.slicer-dropdown .slicer-actions button:hover{color:#374151;background:#e5e7eb}.slicer-dropdown .slicer-members{max-height:200px;padding:4px 0;overflow-y:auto}.slicer-dropdown .slicer-member{color:#374151;cursor:pointer;align-items:center;gap:8px;padding:6px 12px;font-size:12px;display:flex}.slicer-dropdown .slicer-member:hover{background:#f3f4f6}.slicer-dropdown .slicer-member input{margin:0}.chart-dialog{flex-direction:column;max-height:85vh;display:flex}.chart-dialog .chart-dialog-content{flex:1;max-height:calc(85vh - 140px);overflow-y:auto}.chart-dialog-content{flex-direction:column;gap:20px;display:flex}.chart-type-categories{flex-direction:column;gap:16px;display:flex}.chart-type-category{flex-direction:column;gap:8px;display:flex}.chart-type-category-label{text-transform:uppercase;letter-spacing:.5px;color:#6b7280;border-bottom:1px solid #e5e7eb;padding-bottom:4px;font-size:11px;font-weight:600}.chart-type-row{flex-wrap:wrap;gap:8px;display:flex}.chart-type-option-compact{cursor:pointer;text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:8px;flex-direction:column;align-items:center;gap:4px;min-width:70px;padding:10px 12px;transition:all .15s;display:flex}.chart-type-option-compact:hover{background:#f9fafb;border-color:#d1d5db}.chart-type-option-compact.selected{background:#faf5ff;border-color:#7c3aed}.chart-type-option-compact svg{color:#6b7280}.chart-type-option-compact.selected svg{color:#7c3aed}.chart-type-option-compact span{color:#374151;font-size:10px;font-weight:500}.chart-type-option-compact.selected span{color:#7c3aed}.chart-type-description{color:#6b7280;background:#f9fafb;border-radius:6px;align-items:center;gap:8px;margin-top:8px;padding:10px 12px;font-size:12px;display:flex}.chart-type-description svg{color:#7c3aed;flex-shrink:0}.chart-dialog-row{gap:16px;display:flex}.chart-dialog-row .cpm-form-group{flex:1}.chart-dialog-options{background:#f9fafb;border-radius:8px;padding:16px}.chart-dialog-options h4{color:#374151;margin:0 0 12px;font-size:12px;font-weight:600}.chart-options-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.chart-options-grid label{color:#374151;cursor:pointer;align-items:center;gap:8px;font-size:12px;display:flex}.chart-options-grid input[type=checkbox]{accent-color:#7c3aed;width:16px;height:16px}.legend-position-label{color:#374151;margin-bottom:8px;font-size:12px;font-weight:500;display:block}.legend-position-options{gap:6px;display:flex}.legend-pos-btn{cursor:pointer;color:#6b7280;background:#fff;border:2px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:flex}.legend-pos-btn:hover{background:#f9fafb;border-color:#d1d5db}.legend-pos-btn.active{color:#7c3aed;background:#faf5ff;border-color:#7c3aed}.advanced-chart-container{background:#fff;border-radius:8px;flex-direction:column;width:100%;height:100%;display:flex}.advanced-chart-container .recharts-wrapper{width:100%!important;height:100%!important}.advanced-chart-container .recharts-surface{overflow:visible}.treemap-chart{width:100%;height:100%}.treemap-chart .recharts-treemap-depth-1{stroke:#fff;stroke-width:2px}.heatmap-chart{width:100%;height:100%;overflow:auto}.heatmap-grid{flex-direction:column;display:flex}.heatmap-row{display:flex}.heatmap-cell{border:1px solid #ffffff4d;justify-content:center;align-items:center;min-width:40px;min-height:30px;font-size:11px;font-weight:500;transition:all .15s;display:flex}.heatmap-cell:hover{z-index:1;transform:scale(1.05);box-shadow:0 2px 8px #0003}.heatmap-header{font-weight:600;color:#374151!important;background:#f3f4f6!important}.heatmap-row-label{min-width:80px;padding:0 8px;font-weight:500;color:#374151!important;background:#f9fafb!important;justify-content:flex-start!important}.radar-chart{width:100%;height:100%}.radar-chart .recharts-polar-grid-angle line,.radar-chart .recharts-polar-grid-concentric path{stroke:#e5e7eb}.radar-chart .recharts-polar-angle-axis-tick-value{fill:#6b7280;font-size:11px}.funnel-chart{width:100%;height:100%}.funnel-chart .recharts-funnel-trapezoid{stroke:#fff;stroke-width:2px}.funnel-chart .recharts-label{fill:#fff;font-size:12px;font-weight:600}.waterfall-chart{width:100%;height:100%}.waterfall-increase{fill:#22c55e}.waterfall-decrease{fill:#ef4444}.waterfall-total{fill:#7c3aed}.waterfall-connector{stroke:#9ca3af;stroke-width:1px;stroke-dasharray:4 2}.scatter-chart{width:100%;height:100%}.scatter-chart .recharts-scatter-symbol{transition:all .15s}.scatter-chart .recharts-scatter-symbol:hover{transform:scale(1.2)}.combo-chart{width:100%;height:100%}.chart-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:10px 14px;box-shadow:0 4px 12px #00000026}.chart-tooltip-label{color:#1f2937;margin-bottom:6px;font-size:12px;font-weight:600}.chart-tooltip-item{color:#374151;align-items:center;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.chart-tooltip-item:last-child{margin-bottom:0}.chart-tooltip-color{border-radius:2px;flex-shrink:0;width:10px;height:10px}.chart-tooltip-value{margin-left:auto;font-weight:600}.chart-legend{flex-wrap:wrap;justify-content:center;gap:16px;padding:8px 0;display:flex}.chart-legend-item{color:#374151;align-items:center;gap:6px;font-size:12px;display:flex}.chart-legend-color{border-radius:2px;flex-shrink:0;width:12px;height:12px}.cell-databar{align-items:center;width:100%;height:100%;display:flex;position:relative}.cell-databar-container{align-items:center;display:flex;position:absolute;inset:2px}.cell-databar-bar{border-radius:2px;height:60%;transition:width .3s}.cell-databar-bar.gradient{background:linear-gradient(90deg,var(--bar-color)0%,var(--bar-color-end)100%)}.cell-databar-bar.solid{background:var(--bar-color)}.cell-databar-bar.bordered{border:1px solid var(--bar-border-color)}.cell-databar-value{z-index:1;font-size:inherit;color:inherit;padding:0 4px;position:relative}.cell-sparkline{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.cell-sparkline svg{max-width:100%;max-height:100%}.cell-sparkline-line{fill:none;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.cell-sparkline-area{opacity:.2}.cell-sparkline-bar{transition:fill .15s}.cell-sparkline-marker{transition:r .15s}.cell-sparkline-marker.first{fill:#3b82f6}.cell-sparkline-marker.last{fill:#7c3aed}.cell-sparkline-marker.high{fill:#22c55e}.cell-sparkline-marker.low{fill:#ef4444}.cell-sparkline-winloss .win{fill:#22c55e}.cell-sparkline-winloss .loss{fill:#ef4444}.cell-iconset{align-items:center;gap:4px;display:flex}.cell-iconset-icon{flex-shrink:0;justify-content:center;align-items:center;display:flex}.cell-iconset-icon.arrows-up{color:#22c55e}.cell-iconset-icon.arrows-right{color:#f59e0b}.cell-iconset-icon.arrows-down{color:#ef4444}.cell-iconset-icon.traffic-green{color:#22c55e}.cell-iconset-icon.traffic-yellow{color:#f59e0b}.cell-iconset-icon.traffic-red{color:#ef4444}.cell-iconset-icon.flag-green{color:#22c55e}.cell-iconset-icon.flag-yellow{color:#f59e0b}.cell-iconset-icon.flag-red{color:#ef4444}.cell-iconset-icon.star-full,.cell-iconset-icon.star-half{color:#f59e0b}.cell-iconset-icon.star-empty{color:#d1d5db}.cell-iconset-icon.rating-full{color:#7c3aed}.cell-iconset-icon.rating-three{color:#8b5cf6}.cell-iconset-icon.rating-half{color:#a78bfa}.cell-iconset-icon.rating-one{color:#c4b5fd}.cell-iconset-icon.rating-empty{color:#e5e7eb}.cell-iconset-icon.check{color:#22c55e}.cell-iconset-icon.warning{color:#f59e0b}.cell-iconset-icon.cross{color:#ef4444}.cell-iconset-value{font-size:inherit;color:inherit}.cell-colorscale{border-radius:2px;justify-content:center;align-items:center;width:100%;height:100%;padding:2px 4px;transition:background-color .3s;display:flex}.dashboard-canvas{background:#f3f4f6;width:100%;height:100%;padding:16px;overflow:auto}.dashboard-canvas-header{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;display:flex;box-shadow:0 1px 3px #0000001a}.dashboard-canvas-title{align-items:center;gap:10px;display:flex}.dashboard-canvas-title h2{color:#1f2937;margin:0;font-size:18px;font-weight:600}.dashboard-canvas-title svg{color:#7c3aed}.dashboard-canvas-actions{align-items:center;gap:8px;display:flex}.dashboard-add-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.dashboard-add-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 2px 8px #7c3aed4d}.dashboard-grid{background:#fff;border-radius:8px;grid-template-columns:repeat(12,1fr);gap:16px;min-height:400px;padding:16px;display:grid;box-shadow:0 1px 3px #0000001a}.dashboard-grid.edit-mode{background:repeating-linear-gradient(0deg,#0000,#0000 79px,#e5e7eb 79px 80px),repeating-linear-gradient(90deg,#0000,#0000 calc(8.333% - 1px),#e5e7eb calc(8.333% - 1px) 8.333%)}.dashboard-empty{color:#9ca3af;text-align:center;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:60px 20px;display:flex}.dashboard-empty svg{opacity:.5;margin-bottom:16px}.dashboard-widget{background:#fff;border:1px solid #e5e7eb;border-radius:8px;transition:box-shadow .2s;position:relative;overflow:hidden}.dashboard-widget.dragging{opacity:.7;z-index:100;box-shadow:0 8px 25px #0003}.dashboard-widget.selected{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed33}.dashboard-widget-header{cursor:move;background:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.dashboard-widget-title{color:#374151;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.dashboard-widget-actions{opacity:0;gap:4px;transition:opacity .15s;display:flex}.dashboard-widget:hover .dashboard-widget-actions,.dashboard-widget-card .dashboard-widget-actions{opacity:1}.dashboard-widget-action-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:22px;height:22px;transition:all .15s;display:flex}.dashboard-widget-action-btn:hover{color:#374151;background:#e5e7eb}.dashboard-widget-action-btn.danger:hover{color:#dc2626;background:#fee2e2}.dashboard-widget-content{height:calc(100% - 42px);padding:12px;overflow:auto}.dashboard-widget-content.no-padding{padding:0}.widget-resize-handle{z-index:10;background:0 0;position:absolute}.widget-resize-handle:after{content:"";opacity:0;background:#7c3aed;border-radius:2px;transition:opacity .15s;position:absolute}.dashboard-widget:hover .widget-resize-handle:after,.dashboard-widget.selected .widget-resize-handle:after{opacity:1}.widget-resize-handle-e{cursor:ew-resize;width:6px;height:100%;top:0;right:0}.widget-resize-handle-e:after{width:3px;height:30px;top:50%;right:1px;transform:translateY(-50%)}.widget-resize-handle-s{cursor:ns-resize;width:100%;height:6px;bottom:0;left:0}.widget-resize-handle-s:after{width:30px;height:3px;bottom:1px;left:50%;transform:translate(-50%)}.widget-resize-handle-se{cursor:nwse-resize;width:12px;height:12px;bottom:0;right:0}.widget-resize-handle-se:after{border-radius:50%;width:8px;height:8px;bottom:2px;right:2px}.widget-type-icon{color:#6b7280;background:#f3f4f6;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;margin-right:8px;display:flex}.widget-type-icon.chart{color:#7c3aed;background:#faf5ff}.widget-type-icon.kpi{color:#0891b2;background:#ecfeff}.widget-type-icon.table{color:#059669;background:#ecfdf5}.widget-type-icon.text{color:#6b7280;background:#f3f4f6}.widget-type-icon.filter{color:#f59e0b;background:#fffbeb}.widget-placeholder{background:#7c3aed1a;border:2px dashed #7c3aed;border-radius:8px}.add-widget-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.add-widget-option{cursor:pointer;text-align:center;background:#fff;border:2px solid #e5e7eb;border-radius:10px;flex-direction:column;align-items:center;gap:8px;padding:16px 12px;transition:all .15s;display:flex}.add-widget-option:hover{background:#f9fafb;border-color:#d1d5db}.add-widget-option.selected{background:#faf5ff;border-color:#7c3aed}.add-widget-option svg{color:#6b7280}.add-widget-option.selected svg{color:#7c3aed}.add-widget-option-name{color:#374151;font-size:13px;font-weight:600}.add-widget-option-desc{color:#9ca3af;font-size:11px}.dashboard-canvas{background:#f3f4f6;flex-direction:column;width:100%;height:100%;min-height:400px;display:flex}.dashboard-canvas.fullscreen{z-index:9999;position:fixed;inset:0}.dashboard-header{background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.dashboard-header-left{flex-direction:column;gap:4px;display:flex}.dashboard-title{color:#1f2937;margin:0;font-size:18px;font-weight:600}.dashboard-description{color:#6b7280;font-size:13px}.dashboard-header-actions{align-items:center;gap:8px;display:flex}.dashboard-action-btn{color:#4b5563;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;transition:all .15s;display:flex}.dashboard-action-btn:hover{color:#1f2937;background:#e5e7eb}.dashboard-action-btn.active{color:#7c3aed;background:#ede9fe;border-color:#7c3aed}.dashboard-action-btn.primary{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;padding:8px 14px}.dashboard-action-btn.primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 2px 8px #7c3aed4d}.dashboard-content{flex:1;padding:20px;position:relative;overflow:auto}.dashboard-widgets-container{grid-template-columns:repeat(var(--grid-cols,12),1fr);gap:var(--gap,12px);min-height:400px;display:grid}.dashboard-grid-overlay{pointer-events:none;opacity:.5;position:absolute;inset:20px}.dashboard-grid-overlay .grid-row{grid-template-columns:repeat(12,1fr);gap:12px;height:80px;margin-bottom:12px;display:grid}.dashboard-grid-overlay .grid-cell{opacity:.3;background:#e5e7eb;border-radius:4px}.dashboard-footer{color:#6b7280;background:#fff;border-top:1px solid #e5e7eb;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;font-size:12px;display:flex}.dashboard-widget-count{font-weight:500}.dashboard-last-updated{opacity:.7}.dashboard-empty{text-align:center;background:#fff;border-radius:8px;flex-direction:column;grid-column:1/-1;justify-content:center;align-items:center;padding:60px 20px;display:flex}.dashboard-empty svg{color:#d1d5db;margin-bottom:16px}.dashboard-empty h3{color:#374151;margin:0 0 8px;font-size:16px;font-weight:600}.dashboard-empty p{color:#6b7280;margin:0 0 20px;font-size:13px}.dashboard-add-first-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;align-items:center;gap:6px;padding:10px 18px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.dashboard-add-first-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 2px 8px #7c3aed4d}.add-widget-dropdown{position:relative}.add-widget-dropdown>.dropdown-overlay{z-index:999}.add-widget-menu{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:220px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 10px 25px #00000026}.add-widget-menu button.add-widget-option{cursor:pointer;text-align:left;background:0 0;border:none;flex-direction:column;align-items:flex-start;width:100%;padding:12px 16px;transition:background .15s;display:flex}.add-widget-menu button.add-widget-option:hover{background:#f3f4f6}.widget-option-label{color:#1f2937;font-size:13px;font-weight:500}.widget-option-desc{color:#9ca3af;margin-top:2px;font-size:11px}.dashboard-widget{background:#fff;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;transition:box-shadow .2s,border-color .2s;display:flex;position:relative;overflow:hidden}.dashboard-widget:hover{box-shadow:0 4px 12px #0000001a}.dashboard-widget.edit-mode{border-color:#d1d5db}.dashboard-widget.edit-mode:hover{border-color:#7c3aed}.dashboard-widget.dragging{opacity:.5;box-shadow:0 8px 25px #0003}.dashboard-widget.resizing{border-color:#7c3aed;box-shadow:0 0 0 2px #7c3aed33}.widget-header{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0;align-items:center;gap:8px;padding:10px 12px;display:flex}.widget-drag-handle{color:#9ca3af;cursor:grab;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.widget-drag-handle:active{cursor:grabbing}.widget-icon{color:#7c3aed;flex-shrink:0;justify-content:center;align-items:center;display:flex}.widget-title{color:#374151;text-overflow:ellipsis;white-space:nowrap;flex:1;margin:0;font-size:12px;font-weight:600;overflow:hidden}.widget-actions{opacity:0;align-items:center;gap:4px;transition:opacity .15s;display:flex}.dashboard-widget:hover .widget-actions,.dashboard-widget.edit-mode .widget-actions{opacity:1}.widget-action-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.widget-action-btn:hover{color:#374151;background:#e5e7eb}.widget-action-btn.danger:hover{color:#dc2626;background:#fee2e2}.widget-content{flex:1;justify-content:center;align-items:center;padding:12px;display:flex;overflow:auto}.widget-chart-placeholder,.widget-kpi-placeholder,.widget-table-placeholder,.widget-filter-placeholder,.widget-slicer-placeholder,.widget-image-placeholder{text-align:center;color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;height:100%;min-height:80px;display:flex}.widget-chart-placeholder svg,.widget-kpi-placeholder svg,.widget-table-placeholder svg,.widget-filter-placeholder svg,.widget-slicer-placeholder svg,.widget-image-placeholder svg{opacity:.5}.widget-chart-placeholder span,.widget-table-placeholder span,.widget-filter-placeholder span,.widget-slicer-placeholder span,.widget-image-placeholder span{font-size:12px}.widget-kpi-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;display:flex}.widget-kpi-value{font-size:28px;font-weight:700;line-height:1.2}.widget-kpi-label{color:#6b7280;margin-top:4px;font-size:12px}.widget-kpi-change{align-items:center;gap:4px;margin-top:8px;font-size:11px;display:flex}.widget-chart-content{flex-direction:column;align-items:center;width:100%;height:100%;display:flex}.widget-chart-preview{color:#9ca3af;flex-direction:column;align-items:center;gap:4px;display:flex}.widget-chart-preview span{font-size:11px}.widget-chart-range{background:#f3f4f6;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:10px}.widget-table-content{width:100%;overflow:auto}.widget-table-preview .header-row td{background:#f3f4f6;font-weight:600}.widget-table-more{text-align:center;color:#9ca3af;padding:8px;font-size:10px}.widget-text-content{color:#374151;width:100%;height:100%;font-size:13px;line-height:1.5}.resize-handle{z-index:10;position:absolute}.resize-handle-e{cursor:ew-resize;background:0 0;width:6px;height:100%;top:0;right:0}.resize-handle-e:hover,.dashboard-widget.resizing .resize-handle-e{opacity:.3;background:#7c3aed}.resize-handle-s{cursor:ns-resize;background:0 0;width:100%;height:6px;bottom:0;left:0}.resize-handle-s:hover,.dashboard-widget.resizing .resize-handle-s{opacity:.3;background:#7c3aed}.resize-handle-se{cursor:nwse-resize;background:#7c3aed;border-radius:2px 0 6px;width:12px;height:12px;bottom:0;right:0}.widget-settings-overlay{z-index:10000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.widget-settings-panel{background:#fff;border-radius:12px;width:400px;max-width:90vw;box-shadow:0 20px 50px #0000004d}.settings-panel-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.settings-panel-header h4{color:#1f2937;margin:0;font-size:15px;font-weight:600}.settings-close-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;font-size:20px;display:flex}.settings-close-btn:hover{background:#f3f4f6}.settings-panel-content{flex-direction:column;gap:16px;padding:20px;display:flex}.settings-group{flex-direction:column;gap:6px;display:flex}.settings-group label{color:#374151;font-size:12px;font-weight:500}.settings-input,.settings-select{color:#1f2937;border:1px solid #e5e7eb;border-radius:6px;padding:8px 12px;font-size:13px}.settings-input:focus,.settings-select:focus{border-color:#7c3aed;outline:none;box-shadow:0 0 0 2px #7c3aed1a}.settings-input-small{text-align:center;border:1px solid #e5e7eb;border-radius:4px;width:60px;padding:6px 10px;font-size:13px}.settings-row{align-items:center;gap:8px;display:flex}.settings-textarea{color:#1f2937;resize:vertical;border:1px solid #e5e7eb;border-radius:6px;padding:10px 12px;font-family:inherit;font-size:13px}.settings-panel-footer{border-top:1px solid #e5e7eb;justify-content:flex-end;gap:8px;padding:16px 20px;display:flex}.settings-btn-cancel{color:#4b5563;cursor:pointer;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:6px;padding:8px 16px;font-size:13px}.settings-btn-cancel:hover{background:#e5e7eb}.settings-btn-save{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500}.settings-btn-save:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.dashboard-widget-preview{opacity:.9;background:#fff;border:2px dashed #7c3aed;border-radius:8px;padding:16px}.widget-preview-header{color:#7c3aed;align-items:center;gap:8px;font-weight:500;display:flex}.conditional-format-panel{padding:16px}.conditional-format-rules{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.conditional-format-rule{background:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;display:flex}.conditional-format-rule.active{background:#faf5ff;border-color:#7c3aed}.rule-type-icon{color:#7c3aed;background:#fff;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.rule-info{flex:1;min-width:0}.rule-name{color:#374151;margin-bottom:2px;font-size:12px;font-weight:600}.rule-range{color:#6b7280;font-size:11px}.rule-actions{gap:4px;display:flex}.rule-action-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .15s;display:flex}.rule-action-btn:hover{color:#374151;background:#e5e7eb}.rule-action-btn.danger:hover{color:#dc2626;background:#fee2e2}.add-rule-btn{color:#6b7280;cursor:pointer;background:0 0;border:2px dashed #d1d5db;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;padding:10px;font-size:12px;transition:all .15s;display:flex}.add-rule-btn:hover{color:#7c3aed;background:#faf5ff;border-color:#7c3aed}.rule-type-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px;display:grid}.rule-type-card{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:8px;align-items:center;gap:10px;padding:12px;transition:all .15s;display:flex}.rule-type-card:hover{background:#f9fafb;border-color:#d1d5db}.rule-type-card.selected{background:#faf5ff;border-color:#7c3aed}.rule-type-card svg{color:#6b7280}.rule-type-card.selected svg{color:#7c3aed}.rule-type-info{flex:1}.rule-type-name{color:#374151;font-size:12px;font-weight:600}.rule-type-desc{color:#9ca3af;font-size:10px}.color-scale-editor{background:#f9fafb;border-radius:8px;padding:12px}.color-scale-preview{border-radius:4px;height:24px;margin-bottom:12px}.color-scale-stops{justify-content:space-between;gap:12px;display:flex}.color-stop{flex-direction:column;align-items:center;gap:4px;display:flex}.color-stop label{color:#6b7280;text-transform:uppercase;font-size:10px;font-weight:500}.color-stop input[type=color]{cursor:pointer;border:2px solid #e5e7eb;border-radius:6px;width:40px;height:40px;padding:0}.color-stop input[type=color]::-webkit-color-swatch-wrapper{padding:2px}.color-stop input[type=color]::-webkit-color-swatch{border:none;border-radius:4px}.icon-set-editor{background:#f9fafb;border-radius:8px;padding:12px}.icon-set-preview{background:#fff;border-radius:6px;justify-content:center;align-items:center;gap:12px;margin-bottom:12px;padding:16px;display:flex}.icon-set-preview svg{width:24px;height:24px}.icon-set-options{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.icon-set-option{cursor:pointer;background:#fff;border:2px solid #e5e7eb;border-radius:6px;justify-content:center;align-items:center;gap:6px;padding:8px;transition:all .15s;display:flex}.icon-set-option:hover{border-color:#d1d5db}.icon-set-option.selected{background:#faf5ff;border-color:#7c3aed}.data-bar-editor{background:#f9fafb;border-radius:8px;padding:12px}.data-bar-preview{background:#fff;border-radius:6px;align-items:center;height:32px;margin-bottom:12px;padding:4px;display:flex}.data-bar-preview-bar{border-radius:4px;height:100%;transition:width .3s}.data-bar-colors{gap:16px;display:flex}.data-bar-color-option{align-items:center;gap:8px;display:flex}.data-bar-color-option label{color:#6b7280;font-size:11px}.data-bar-color-option input[type=color]{cursor:pointer;border:2px solid #e5e7eb;border-radius:4px;width:32px;height:32px;padding:0}.chart-no-data-advanced{color:#9ca3af;text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;min-height:200px;padding:20px;display:flex}.chart-no-data-advanced svg{opacity:.5;margin-bottom:12px}.chart-no-data-advanced h4{color:#374151;margin:0 0 6px;font-size:14px;font-weight:600}.chart-no-data-advanced p{color:#6b7280;margin:0;font-size:12px}.chart-loading{justify-content:center;align-items:center;height:100%;min-height:200px;display:flex}.chart-loading-spinner{border:3px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;width:32px;height:32px;animation:.8s linear infinite chart-spin}@keyframes chart-spin{to{transform:rotate(360deg)}}.error-boundary-fallback{text-align:center;background:linear-gradient(135deg,#fef2f2,#fee2e2);border:1px solid #fecaca;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:32px;display:flex}.error-boundary-icon{color:#dc2626;margin-bottom:16px}.error-boundary-title{color:#991b1b;margin:0 0 8px;font-size:16px;font-weight:600}.error-boundary-message{color:#b91c1c;max-width:300px;margin:0 0 16px;font-size:13px}.error-boundary-reset-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .2s;display:flex}.error-boundary-reset-btn:hover{background:#b91c1c}.loading-state{flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:120px;padding:24px;display:flex}.loading-state-small{gap:8px;min-height:60px;padding:16px}.loading-state-large{gap:16px;min-height:200px;padding:32px}.loading-spinner{border:3px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;animation:.8s linear infinite spin}.loading-state-small .loading-spinner{border-width:2px}.loading-message{color:#6b7280;font-size:13px}.loading-state-small .loading-message{font-size:12px}.loading-state-large .loading-message{font-size:14px}.lazy-loading-fallback{color:#6b7280;flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:100px;padding:24px;display:flex}.lazy-loading-spinner{color:#7c3aed;animation:1s linear infinite spin}.empty-state{text-align:center;color:#6b7280;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:32px;display:flex}.empty-state-icon{color:#9ca3af;opacity:.7;margin-bottom:16px}.empty-state-title{color:#374151;margin:0 0 8px;font-size:16px;font-weight:600}.empty-state-description{color:#6b7280;max-width:280px;margin:0 0 16px;font-size:13px}.empty-state-action{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:6px;padding:8px 16px;font-size:13px;font-weight:500;transition:background .2s}.empty-state-action:hover{background:#6d28d9}.widget-kpi-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:16px;display:flex}.widget-kpi-value{margin-bottom:4px;font-size:32px;font-weight:700;line-height:1.2}.widget-kpi-label{color:#6b7280;margin-bottom:8px;font-size:12px}.widget-kpi-change{align-items:center;gap:4px;font-size:12px;font-weight:500;display:flex}.widget-kpi-change.positive{color:#059669}.widget-kpi-change.negative{color:#dc2626}.widget-kpi-target{color:#9ca3af;align-items:center;gap:4px;margin-top:8px;font-size:11px;display:flex}.widget-kpi-placeholder,.widget-kpi-error{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.kpi-value-preview{color:#d1d5db;font-size:28px;font-weight:700}.kpi-label-preview{color:#9ca3af;font-size:12px}.widget-chart-content,.widget-chart-placeholder{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.widget-chart-title{color:#374151;margin-bottom:8px;font-size:12px;font-weight:600}.widget-chart-preview{flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.widget-chart-range{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:10px}.widget-table-content{height:100%;overflow:auto}.widget-table-preview{border-collapse:collapse;width:100%;font-size:11px}.widget-table-preview td{white-space:nowrap;text-overflow:ellipsis;border:1px solid #e5e7eb;max-width:100px;padding:4px 8px;overflow:hidden}.widget-table-preview .header-row td{color:#374151;background:#f9fafb;font-weight:600}.widget-table-more{text-align:center;color:#6b7280;background:#f9fafb;border-top:1px solid #e5e7eb;padding:8px;font-size:11px}.widget-table-placeholder{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;font-size:12px;display:flex}.widget-text-content{color:#374151;padding:12px;font-size:13px;line-height:1.5}.widget-image{-o-object-fit:contain;object-fit:contain;width:100%;height:100%}.widget-image-placeholder,.widget-filter-placeholder,.widget-slicer-placeholder{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;font-size:12px;display:flex}@media(max-width:1024px){.ribbon-content{padding:4px 8px;overflow-x:auto}.ribbon-group{padding:4px 8px}.ribbon-group-label{font-size:9px}.ribbon-btn-small{padding:4px 8px;font-size:10px}.dashboard-canvas{padding:16px}.dashboard-grid-cell{min-height:80px}.dashboard-widget{min-width:150px}.widget-header{padding:6px 8px}.widget-title{font-size:11px}.kpi-card{padding:12px}.kpi-value{font-size:24px}.kpi-label{font-size:11px}.chart-container{padding:12px}.cpm-dialog{max-width:90vw;max-height:85vh}.cpm-dialog-body{padding:16px}}@media(max-width:768px){.app-container{min-width:auto}.ribbon{-webkit-overflow-scrolling:touch;overflow-x:auto}.ribbon-tabs{min-width:-moz-max-content;min-width:max-content}.ribbon-tab{padding:6px 10px;font-size:11px}.ribbon-content{min-width:-moz-max-content;min-width:max-content;padding:4px}.ribbon-group{padding:4px 6px}.ribbon-group-content{gap:2px}.ribbon-btn-icon{padding:4px}.formula-bar{flex-wrap:wrap;height:auto;padding:4px 8px}.cell-reference{min-width:60px;font-size:11px}.formula-input{font-size:12px}.dashboard-canvas{padding:8px;overflow-x:auto}.dashboard-canvas-inner{min-width:600px}.dashboard-widget{min-width:120px;min-height:100px}.widget-header{padding:4px 6px}.widget-title{font-size:10px}.widget-actions button{padding:2px}.widget-content{padding:6px}.kpi-card{padding:8px}.kpi-value{font-size:20px}.kpi-label,.kpi-trend{font-size:10px}.kpi-sparkline{height:24px}.chart-renderer{min-height:150px}.cpm-dialog{border-radius:0;height:100vh;max-height:100vh;margin:0;width:100vw!important;max-width:100vw!important}.cpm-dialog-header{padding:12px 16px}.cpm-dialog-title{font-size:16px}.cpm-dialog-body{max-height:calc(100vh - 120px);padding:12px}.cpm-dialog-footer{flex-wrap:wrap;gap:8px;padding:12px 16px}.cpm-dialog-footer button{flex:1;min-width:100px}.cpm-form-row{flex-direction:column;gap:12px}.cpm-form-group{width:100%}.widget-table-preview td{max-width:60px;padding:2px 4px;font-size:10px}.dashboard-toolbar{flex-wrap:wrap;gap:8px;padding:8px}.toolbar-group{flex:1;min-width:120px}.sheet-tabs{-webkit-overflow-scrolling:touch;overflow-x:auto}.sheet-tab{min-width:80px;padding:4px 8px;font-size:11px}.context-menu{max-width:90vw}.custom-dropdown{min-width:80px}.dropdown-menu{max-height:200px}.filter-dropdown{width:280px;max-width:90vw}.nia-agent-panel{width:100%;max-width:100%;right:0}.nia-agent-panel.expanded{width:100%}}@media(max-width:480px){.ribbon-tab{padding:4px 8px;font-size:10px}.ribbon-group-label,.ribbon-btn-disabled{display:none}.dashboard-canvas{padding:4px}.dashboard-widget{min-width:100px}.cpm-dialog-footer{flex-direction:column}.cpm-dialog-footer button{width:100%}.kpi-value{font-size:18px}.kpi-value-preview{font-size:20px}.widget-chart-range{display:none}}@media(hover:none)and (pointer:coarse){.ribbon-btn-icon{min-width:36px;min-height:36px}.widget-actions button{min-width:28px;min-height:28px}.sheet-tab{min-height:36px}.context-menu-item{padding:10px 16px}.dropdown-item{padding:10px 12px}.ribbon-btn-icon:hover,.sheet-tab:hover,.context-menu-item:hover{background:inherit}.ribbon-btn-icon:active,.sheet-tab:active,.context-menu-item:active{background:#e5e7eb}}@media print{.ribbon,.formula-bar,.sheet-tabs,.nia-agent-panel,.widget-actions,.dashboard-toolbar,.resize-handle{display:none!important}.dashboard-canvas{width:100%;height:auto;padding:0;overflow:visible}.dashboard-canvas-inner{width:100%;min-width:auto}.dashboard-widget{-moz-column-break-inside:avoid;break-inside:avoid;box-shadow:none;border:1px solid #e5e7eb}.kpi-card{background:#fff;border:1px solid #e5e7eb}.chart-renderer{min-height:200px;width:100%!important;height:auto!important}}@media(max-width:900px)and (orientation:landscape){.cpm-dialog{max-height:95vh}.cpm-dialog-body{max-height:calc(95vh - 100px)}.cpm-form-row{flex-direction:row}}.export-toolbar{align-items:center;display:inline-flex;position:relative}.export-btn{color:#fff;cursor:pointer;background:#7c3aed;border:none;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s;display:flex}.export-btn:hover{background:#6d28d9}.export-btn:disabled,.export-btn.exporting{cursor:not-allowed;background:#9ca3af}.export-btn.exporting:after{content:"";border:2px solid #fff;border-top-color:#0000;border-radius:50%;width:12px;height:12px;margin-left:4px;animation:1s linear infinite spin}.export-dropdown{z-index:1000;background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:220px;margin-top:4px;position:absolute;top:100%;right:0;overflow:hidden;box-shadow:0 10px 25px #00000026}.export-dropdown-header{color:#6b7280;text-transform:uppercase;letter-spacing:.5px;background:#f9fafb;border-bottom:1px solid #e5e7eb;padding:10px 12px;font-size:11px;font-weight:600}.export-dropdown-divider{background:#e5e7eb;height:1px;margin:4px 0}.export-option{cursor:pointer;align-items:center;gap:12px;padding:10px 12px;transition:background .15s;display:flex}.export-option:hover{background:#f3f4f6}.export-option svg{color:#6b7280;flex-shrink:0}.export-option-content{flex-direction:column;gap:2px;display:flex}.export-option-label{color:#111827;font-size:13px;font-weight:500}.export-option-desc{color:#9ca3af;font-size:11px}.export-message{color:#fff;z-index:10000;background:#1f2937;border-radius:8px;padding:10px 20px;font-size:13px;animation:.3s fadeInUp;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(10px)}to{opacity:1;transform:translate(-50%)translateY(0)}}:root{--theme-background:#f3f4f6;--theme-surface:#fff;--theme-surface-hover:#f9fafb;--theme-border:#e5e7eb;--theme-border-light:#f3f4f6;--theme-text-primary:#111827;--theme-text-secondary:#374151;--theme-text-muted:#6b7280;--theme-text-inverse:#fff;--theme-primary:#7c3aed;--theme-primary-hover:#6d28d9;--theme-primary-light:#ede9fe;--theme-success:#10b981;--theme-success-light:#d1fae5;--theme-warning:#f59e0b;--theme-warning-light:#fef3c7;--theme-error:#ef4444;--theme-error-light:#fee2e2;--theme-info:#3b82f6;--theme-info-light:#dbeafe;--theme-ribbon-bg:#fff;--theme-sheet-bg:#f9fafb;--theme-cell-bg:#fff;--theme-cell-selected-bg:#ede9fe;--theme-header-bg:#f9fafb;--theme-header-text:#374151;--theme-grid-lines:#e5e7eb;--theme-scrollbar-track:#f3f4f6;--theme-scrollbar-thumb:#d1d5db}.theme-switcher-dropdown{position:relative}.theme-dropdown-trigger{background:var(--theme-surface);border:1px solid var(--theme-border);cursor:pointer;color:var(--theme-text-primary);border-radius:6px;align-items:center;gap:8px;padding:6px 12px;font-size:12px;transition:all .15s;display:flex}.theme-dropdown-trigger:hover{background:var(--theme-surface-hover);border-color:var(--theme-primary)}.theme-color-preview{border:1px solid #0000001a;border-radius:4px;width:16px;height:16px}.theme-dropdown-menu{background:var(--theme-surface);border:1px solid var(--theme-border);z-index:1000;border-radius:8px;min-width:240px;margin-top:4px;position:absolute;top:100%;left:0;overflow:hidden;box-shadow:0 10px 25px #00000026}.theme-dropdown-header{color:var(--theme-text-muted);text-transform:uppercase;letter-spacing:.5px;background:var(--theme-surface-hover);border-bottom:1px solid var(--theme-border);align-items:center;gap:8px;padding:10px 12px;font-size:11px;font-weight:600;display:flex}.theme-dropdown-section{padding:8px 0}.theme-section-label{color:var(--theme-text-muted);text-transform:uppercase;letter-spacing:.5px;padding:4px 12px 8px;font-size:10px;font-weight:600}.theme-dropdown-divider{background:var(--theme-border);height:1px;margin:4px 0}.theme-option{cursor:pointer;align-items:center;gap:10px;padding:8px 12px;transition:background .15s;display:flex}.theme-option:hover{background:var(--theme-surface-hover)}.theme-option.active{background:var(--theme-primary-light)}.theme-option-colors{gap:2px;display:flex}.theme-color-swatch{border:1px solid #0000001a;border-radius:3px;width:14px;height:14px}.theme-option-name{color:var(--theme-text-primary);flex:1;font-size:13px}.theme-check{color:var(--theme-primary)}.theme-switcher-grid{padding:16px}.theme-grid-header{color:var(--theme-text-primary);align-items:center;gap:8px;margin-bottom:16px;font-size:14px;font-weight:600;display:flex}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;display:grid}.theme-preview-card{border:2px solid var(--theme-border);cursor:pointer;border-radius:8px;transition:all .2s;overflow:hidden}.theme-preview-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.theme-preview-card.active{border-width:2px}.theme-preview-header{align-items:center;height:12px;padding:0 4px;display:flex}.theme-preview-accent{border-radius:2px;width:20px;height:4px}.theme-preview-content{gap:2px;padding:8px 4px;display:flex}.theme-preview-cell{border:1px solid;border-radius:2px;flex:1;height:20px}.theme-preview-footer{justify-content:space-between;align-items:center;padding:6px 8px;font-size:10px;font-weight:500;display:flex}.theme-toggle-btn{background:var(--theme-surface);border:1px solid var(--theme-border);cursor:pointer;width:32px;height:32px;color:var(--theme-text-secondary);border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.theme-toggle-btn:hover{background:var(--theme-surface-hover);color:var(--theme-primary)}.dark-theme .theme-color-swatch,.dark-theme .theme-color-preview{border-color:#fff3}.dark-theme .modal-content{background:var(--theme-surface,#1f2937);color:var(--theme-text-primary,#f9fafb)}.dark-theme .modal-header{border-bottom-color:var(--theme-border,#374151)}.dark-theme .modal-header h3{color:var(--theme-text-primary,#f9fafb)}.dark-theme .modal-close{color:var(--theme-text-secondary,#9ca3af)}.dark-theme .modal-close:hover{color:var(--theme-text-primary,#f9fafb);background:var(--theme-surface-hover,#374151)}.dark-theme .modal-body,.dark-theme .shortcuts-grid{color:var(--theme-text-primary,#f9fafb)}.dark-theme .shortcut-keys{background:var(--theme-surface-hover,#374151);border-color:var(--theme-border,#4b5563);color:var(--theme-text-primary,#f9fafb)}.dark-theme .shortcut-action,.dark-theme .theme-gallery-section h4{color:var(--theme-text-secondary,#d1d5db)}.dark-theme .theme-gallery-info{border-top-color:var(--theme-border,#374151)}.dark-theme .theme-gallery-info p{color:var(--theme-text-secondary,#d1d5db)}.modal-theme-gallery{width:90vw;max-width:700px}.theme-gallery{flex-direction:column;gap:24px;display:flex}.theme-gallery-section h4{color:var(--theme-text-secondary,#374151);margin:0 0 12px;font-size:13px;font-weight:600}.theme-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px;display:grid}.theme-gallery-card{cursor:pointer;border:2px solid;border-radius:8px;transition:all .2s;overflow:hidden}.theme-gallery-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.theme-gallery-card.active{box-shadow:0 0 0 2px var(--theme-primary,#7c3aed)}.theme-gallery-header{align-items:center;height:16px;padding:0 6px;display:flex}.theme-gallery-accent{border-radius:3px;width:24px;height:5px}.theme-gallery-content{padding:8px 6px}.theme-gallery-grid-preview{gap:3px;display:flex}.theme-gallery-grid-preview div{border:1px solid;border-radius:2px;flex:1;height:24px}.theme-gallery-footer{text-align:center;justify-content:center;align-items:center;gap:4px;padding:8px;font-size:11px;font-weight:500;display:flex}.theme-gallery-info{border-top:1px solid var(--theme-border,#e5e7eb);text-align:center;margin-top:20px;padding-top:16px}.theme-gallery-info p{color:var(--theme-text-secondary,#374151);margin:0;font-size:13px}.theme-gallery-hint{color:var(--theme-text-muted,#6b7280)!important;margin-top:4px!important;font-size:11px!important}@media(max-width:768px){.modal-theme-gallery{width:95vw;max-width:95vw;max-height:90vh}.theme-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.theme-gallery-card{border-radius:6px}.theme-gallery-header{height:12px;padding:0 4px}.theme-gallery-accent{width:18px;height:4px}.theme-gallery-content{padding:6px 4px}.theme-gallery-grid-preview div{height:18px}.theme-gallery-footer{padding:6px;font-size:10px}.theme-gallery-section h4{margin-bottom:8px;font-size:12px}.theme-gallery-info{margin-top:16px;padding-top:12px}.theme-gallery-info p{font-size:12px}}@media(max-width:480px){.modal-theme-gallery{border-radius:0;width:100vw;max-width:100vw;max-height:100vh;margin:0}.theme-gallery-grid{grid-template-columns:repeat(3,1fr);gap:6px}.theme-gallery{gap:16px}.theme-gallery-card{border-width:1px;border-radius:4px}.theme-gallery-header{height:10px}.theme-gallery-content{padding:4px}.theme-gallery-grid-preview div{height:14px}.theme-gallery-footer{padding:4px;font-size:9px}.modal-header h3{font-size:16px}}@media(max-width:768px){.theme-dropdown-menu{min-width:200px}.theme-option{padding:10px 12px}.theme-option-name{font-size:12px}}.node-editor-container{background:var(--theme-background,#f8f9fa);width:100%;height:100%;display:flex}.node-editor-main{flex:1;height:100%}.node-palette{background:var(--theme-surface,#fff);border-right:1px solid var(--theme-border,#e5e7eb);flex-direction:column;width:280px;display:flex;overflow:hidden}.node-palette-toggle.collapsed{z-index:10;background:var(--theme-surface,#fff);border:1px solid var(--theme-border,#e5e7eb);cursor:pointer;width:24px;height:48px;color:var(--theme-text-secondary,#6b7280);border-left:none;border-radius:0 6px 6px 0;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;left:0;transform:translateY(-50%)}.node-palette-toggle.collapsed:hover{background:var(--theme-hover,#f3f4f6)}.node-palette-header{border-bottom:1px solid var(--theme-border,#e5e7eb);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.node-palette-header h3{color:var(--theme-text-primary,#111827);margin:0;font-size:14px;font-weight:600}.node-palette-close{cursor:pointer;color:var(--theme-text-secondary,#6b7280);background:0 0;border:none;border-radius:4px;padding:4px}.node-palette-close:hover{background:var(--theme-hover,#f3f4f6)}.node-palette-search{background:var(--theme-background,#f8f9fa);border:1px solid var(--theme-border,#e5e7eb);border-radius:6px;align-items:center;gap:8px;margin:8px 12px;padding:8px 12px;display:flex}.node-palette-search input{color:var(--theme-text-primary,#111827);background:0 0;border:none;outline:none;flex:1;font-size:13px}.node-palette-search input::-moz-placeholder{color:var(--theme-text-muted,#9ca3af)}.node-palette-search input::placeholder,.node-palette-search svg{color:var(--theme-text-muted,#9ca3af)}.node-palette-search button{cursor:pointer;color:var(--theme-text-muted,#9ca3af);background:0 0;border:none;padding:2px}.node-palette-categories{flex:1;padding:8px 0;overflow-y:auto}.node-palette-category{margin-bottom:4px}.category-header{cursor:pointer;text-align:left;background:0 0;border:none;border-left:3px solid #0000;align-items:center;gap:8px;width:100%;padding:8px 12px;transition:background .15s;display:flex}.category-header:hover{background:var(--theme-hover,#f3f4f6)}.category-expand{color:var(--theme-text-muted,#9ca3af)}.category-label{color:var(--theme-text-primary,#111827);flex:1;font-size:13px;font-weight:500}.category-count{color:var(--theme-text-muted,#9ca3af);background:var(--theme-background,#f3f4f6);border-radius:10px;padding:2px 6px;font-size:11px}.category-nodes{padding:4px 12px 4px 20px}.node-palette-item{background:var(--theme-surface,#fff);border:1px solid var(--theme-border,#e5e7eb);cursor:grab;border-radius:6px;align-items:center;gap:10px;margin:2px 0;padding:8px 10px;transition:all .15s;display:flex}.node-palette-item:hover{border-color:var(--theme-primary,#7c3aed);box-shadow:0 2px 8px #00000014}.node-palette-item:active{cursor:grabbing}.node-item-icon{color:#fff;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.node-item-info{flex:1;min-width:0}.node-item-label{color:var(--theme-text-primary,#111827);font-size:12px;font-weight:500;display:block}.node-item-desc{color:var(--theme-text-muted,#9ca3af);white-space:nowrap;text-overflow:ellipsis;font-size:10px;display:block;overflow:hidden}.node-item-drag{color:var(--theme-text-muted,#d1d5db)}.node-palette-hint{color:var(--theme-text-muted,#9ca3af);text-align:center;border-top:1px solid var(--theme-border,#e5e7eb);padding:12px 16px;font-size:11px}.node-editor-node{background:var(--theme-surface,#fff);border:2px solid;border-radius:8px;min-width:180px;overflow:hidden;box-shadow:0 2px 8px #0000001a}.node-editor-node.selected{box-shadow:0 0 0 2px #7c3aed80,0 4px 12px #00000026}.node-header{color:#fff;align-items:center;gap:8px;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.node-body{padding:10px 12px}.node-field{align-items:center;gap:6px;margin-bottom:6px;font-size:11px;display:flex}.node-field:last-child{margin-bottom:0}.field-label{color:var(--theme-text-muted,#6b7280);flex-shrink:0}.field-value{color:var(--theme-text-primary,#111827);font-weight:500}.field-value.mono{background:var(--theme-background,#f3f4f6);border-radius:3px;padding:2px 4px;font-family:monospace;font-size:10px}.field-value.truncate{white-space:nowrap;text-overflow:ellipsis;max-width:120px;overflow:hidden}.node-field-hint{color:var(--theme-text-muted,#9ca3af);font-style:italic}.node-outputs{flex-direction:column;gap:4px;margin-top:8px;display:flex}.node-output{border-radius:4px;padding:4px 8px;font-size:10px}.node-output.true{color:#16a34a;background:#22c55e1a}.node-output.false{color:#dc2626;background:#ef44441a}.node-cases{flex-direction:column;gap:4px;display:flex}.node-case{background:var(--theme-background,#f3f4f6);border-radius:3px;align-items:center;gap:6px;padding:3px 6px;font-size:10px;display:flex}.node-case.more{color:var(--theme-text-muted,#9ca3af);font-style:italic}.case-value{color:var(--theme-primary,#7c3aed);font-weight:500}.case-arrow{color:var(--theme-text-muted,#9ca3af)}.case-output{color:var(--theme-text-primary,#111827)}.control-node.start .node-header,.control-node.end .node-header{border-radius:20px}.control-node.start,.control-node.end{border-radius:24px;min-width:100px}.node-handle{border:2px solid #fff;width:12px;height:12px;box-shadow:0 0 4px #0003}.node-handle.source{right:-6px}.node-handle.target{left:-6px}.node-editor-toolbar{background:var(--theme-surface,#fff);border-radius:8px;align-items:center;gap:4px;padding:6px 10px;display:flex;box-shadow:0 2px 8px #0000001a}.toolbar-group{align-items:center;gap:2px;display:flex}.toolbar-separator{background:var(--theme-border,#e5e7eb);width:1px;height:24px;margin:0 6px}.toolbar-btn{cursor:pointer;width:32px;height:32px;color:var(--theme-text-secondary,#6b7280);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:all .15s;display:flex}.toolbar-btn:hover:not(:disabled){background:var(--theme-hover,#f3f4f6);color:var(--theme-text-primary,#111827)}.toolbar-btn:disabled{opacity:.4;cursor:not-allowed}.toolbar-btn.success{color:#16a34a}.toolbar-btn.success:hover:not(:disabled){background:#22c55e1a}.toolbar-btn.danger{color:#dc2626}.toolbar-btn.danger:hover:not(:disabled){background:#ef44441a}.node-editor-flow-name{background:var(--theme-surface,#fff);border-radius:8px;align-items:center;gap:12px;padding:8px 16px;display:flex;box-shadow:0 2px 8px #0000001a}.flow-name{color:var(--theme-text-primary,#111827);font-size:14px;font-weight:600}.execution-status{border-radius:12px;padding:3px 8px;font-size:11px;font-weight:500}.execution-status.running{color:#2563eb;background:#3b82f61a;animation:1.5s infinite pulse}.execution-status.completed{color:#16a34a;background:#22c55e1a}.execution-status.failed{color:#dc2626;background:#ef44441a}.node-editor-flow-list{background:var(--theme-surface,#fff);border-radius:8px;width:280px;margin-top:50px;overflow:hidden;box-shadow:0 4px 20px #00000026}.flow-list-header{border-bottom:1px solid var(--theme-border,#e5e7eb);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.flow-list-header h4{color:var(--theme-text-primary,#111827);margin:0;font-size:14px;font-weight:600}.flow-list-header button{cursor:pointer;color:var(--theme-text-muted,#9ca3af);background:0 0;border:none;padding:0;font-size:18px;line-height:1}.flow-list-create{border-bottom:1px solid var(--theme-border,#e5e7eb);gap:8px;padding:12px;display:flex}.flow-list-create input{border:1px solid var(--theme-border,#e5e7eb);border-radius:6px;outline:none;flex:1;padding:8px 12px;font-size:13px}.flow-list-create input:focus{border-color:var(--theme-primary,#7c3aed)}.flow-list-create button{background:var(--theme-primary,#7c3aed);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.flow-list-create button:hover{opacity:.9}.flow-list-items{max-height:300px;overflow-y:auto}.flow-list-empty{text-align:center;color:var(--theme-text-muted,#9ca3af);padding:24px;font-size:13px}.flow-list-item{cursor:pointer;align-items:center;gap:12px;padding:10px 16px;transition:background .15s;display:flex}.flow-list-item:hover{background:var(--theme-hover,#f3f4f6)}.flow-list-item.active{background:#7c3aed1a}.flow-item-name{color:var(--theme-text-primary,#111827);flex:1;font-size:13px;font-weight:500}.flow-item-nodes{color:var(--theme-text-muted,#9ca3af);font-size:11px}.flow-item-delete{cursor:pointer;color:var(--theme-text-muted,#9ca3af);opacity:0;background:0 0;border:none;border-radius:4px;padding:4px;transition:all .15s}.flow-list-item:hover .flow-item-delete{opacity:1}.flow-item-delete:hover{color:#dc2626;background:#ef44441a}.node-editor-results{background:var(--theme-surface,#fff);border-radius:8px;width:280px;overflow:hidden;box-shadow:0 4px 20px #00000026}.results-header{border-bottom:1px solid var(--theme-border,#e5e7eb);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.results-header h4{color:var(--theme-text-primary,#111827);margin:0;font-size:12px;font-weight:600}.results-status{text-transform:capitalize;border-radius:10px;padding:2px 6px;font-size:10px;font-weight:500}.results-status.running{color:#2563eb;background:#3b82f61a}.results-status.completed{color:#16a34a;background:#22c55e1a}.results-status.failed{color:#dc2626;background:#ef44441a}.results-list{max-height:200px;padding:8px;overflow-y:auto}.result-item{border-radius:4px;align-items:center;gap:8px;margin-bottom:4px;padding:6px 10px;font-size:11px;display:flex}.result-item.success{background:#22c55e14}.result-item.error{background:#ef444414}.result-node{color:var(--theme-text-primary,#111827);white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.result-duration{color:var(--theme-text-muted,#9ca3af)}.result-error{color:#dc2626;font-size:10px}.react-flow__minimap{background:var(--theme-surface,#fff)!important;border:1px solid var(--theme-border,#e5e7eb)!important;border-radius:8px!important}.react-flow__controls{border:1px solid var(--theme-border,#e5e7eb)!important;border-radius:8px!important;box-shadow:0 2px 8px #0000001a!important}.react-flow__controls-button{background:var(--theme-surface,#fff)!important;border-bottom:1px solid var(--theme-border,#e5e7eb)!important}.react-flow__controls-button:hover{background:var(--theme-hover,#f3f4f6)!important}.react-flow__edge-path{stroke:var(--theme-border,#9ca3af)!important;stroke-width:2px!important}.react-flow__edge.selected .react-flow__edge-path{stroke:var(--theme-primary,#7c3aed)!important}.react-flow__background pattern circle{fill:var(--theme-border,#d1d5db)!important}.node-editor-fullscreen-modal{z-index:9999;background:var(--theme-background,#f8f9fa);flex-direction:column;display:flex;position:fixed;inset:0}.node-editor-modal-header{background:var(--theme-surface,#fff);border-bottom:1px solid var(--theme-border,#e5e7eb);justify-content:space-between;align-items:center;padding:12px 20px;display:flex;box-shadow:0 1px 3px #0000000d}.node-editor-modal-header h2{color:var(--theme-text-primary,#111827);align-items:center;gap:10px;margin:0;font-size:16px;font-weight:600;display:flex}.node-editor-modal-close{cursor:pointer;width:36px;height:36px;color:var(--theme-text-secondary,#6b7280);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .15s;display:flex}.node-editor-modal-close:hover{background:var(--theme-hover,#f3f4f6);color:var(--theme-text-primary,#111827)}.node-editor-modal-body{flex:1;overflow:hidden}.ribbon-btn-primary{color:#fff!important;background:linear-gradient(135deg,#7c3aed,#6d28d9)!important;border:none!important}.ribbon-btn-primary:hover{background:linear-gradient(135deg,#6d28d9,#5b21b6)!important}.smart-narrative{border:1px solid;border-radius:8px;font-size:13px;overflow:hidden}.smart-narrative.loading,.smart-narrative.empty,.smart-narrative.error{background:var(--theme-surface,#fff);border-color:var(--theme-border,#e5e7eb);padding:16px}.smart-narrative-loading{color:var(--theme-primary,#7c3aed);justify-content:center;align-items:center;gap:10px;display:flex}.smart-narrative-loading svg{animation:1.5s infinite pulse}.smart-narrative-error{color:#ef4444;align-items:center;gap:8px;display:flex}.smart-narrative-error button{color:#ef4444;cursor:pointer;background:0 0;border:1px solid #ef4444;border-radius:4px;align-items:center;gap:4px;margin-left:auto;padding:4px 8px;font-size:12px;display:flex}.smart-narrative-error button:hover{background:#ef44441a}.smart-narrative-generate{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#6d28d9);border:none;border-radius:6px;justify-content:center;align-items:center;gap:8px;width:100%;padding:12px;font-size:13px;font-weight:500;transition:all .15s;display:flex}.smart-narrative-generate:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed4d}.smart-narrative-header{justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.smart-narrative-title{align-items:center;gap:10px;display:flex}.smart-narrative-title h4{color:var(--theme-text-primary,#111827);margin:0;font-size:14px;font-weight:600}.smart-narrative-action{cursor:pointer;width:28px;height:28px;color:var(--theme-text-muted,#9ca3af);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;transition:all .15s;display:flex}.smart-narrative-action:hover{color:var(--theme-text-primary,#111827);background:#0000000d}.smart-narrative-content{padding:0 14px 14px}.smart-narrative-text{color:var(--theme-text-primary,#111827);margin:0 0 12px;line-height:1.6}.smart-narrative-highlights,.smart-narrative-recommendations{margin-top:12px}.smart-narrative-highlights h5,.smart-narrative-recommendations h5{color:var(--theme-text-secondary,#374151);align-items:center;gap:6px;margin:0 0 8px;font-size:12px;font-weight:600;display:flex}.smart-narrative-highlights ul,.smart-narrative-recommendations ul{margin:0;padding-left:20px}.smart-narrative-highlights li,.smart-narrative-recommendations li{color:var(--theme-text-primary,#111827);margin-bottom:4px;line-height:1.5}.smart-narrative-recommendations{border-top:1px dashed var(--theme-border,#e5e7eb);padding-top:12px}.smart-narrative-footer{background:#00000005;border-top:1px solid #0000000d;justify-content:space-between;align-items:center;padding:8px 14px;display:flex}.smart-narrative-confidence,.smart-narrative-type{color:var(--theme-text-muted,#9ca3af);font-size:10px}.smart-narrative.compact .smart-narrative-content{max-height:0;padding:0 14px;transition:all .2s;overflow:hidden}.smart-narrative.compact .smart-narrative-content.expanded{max-height:500px;padding:0 14px 14px}.quick-insight{align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.in-cell-databar,.in-cell-sparkline,.in-cell-iconset,.in-cell-colorscale{width:100%;height:100%}.cell.has-viz{overflow:visible}.cell.has-viz .cell-content{display:none}.dashboard-filter-bar{background:var(--theme-surface,#fff);border:1px solid var(--theme-border,#e5e7eb);border-radius:8px;margin-bottom:16px;padding:12px}.filter-bar-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.filter-bar-title{color:var(--theme-text-primary,#111827);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.filter-count-badge{background:var(--theme-primary,#7c3aed);color:#fff;text-align:center;border-radius:10px;min-width:18px;padding:2px 6px;font-size:11px}.filter-bar-actions{gap:8px;display:flex}.filter-bar-btn{cursor:pointer;border:none;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:12px;transition:all .15s;display:flex}.filter-bar-btn-clear{color:#ef4444;background:#fef2f2}.filter-bar-btn-clear:hover{background:#fee2e2}.filter-bar-active{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.filter-chip{background:var(--theme-background,#f9fafb);border:1px solid var(--theme-border,#e5e7eb);border-radius:6px;min-width:180px;overflow:hidden}.filter-chip.inactive{opacity:.6}.filter-chip-header{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:8px 10px;display:flex}.filter-chip-header:hover{background:#00000005}.filter-chip-info{align-items:center;gap:8px;display:flex}.filter-chip-checkbox{cursor:pointer;width:14px;height:14px}.filter-chip-name{color:var(--theme-text-primary,#111827);font-size:13px;font-weight:500}.filter-chip-count{background:var(--theme-primary,#7c3aed);color:#fff;border-radius:8px;padding:1px 5px;font-size:10px}.filter-chip-actions{align-items:center;gap:4px;display:flex}.filter-chip-remove{cursor:pointer;width:20px;height:20px;color:var(--theme-text-muted,#9ca3af);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.filter-chip-remove:hover{color:#ef4444;background:#fee2e2}.filter-chip-summary{color:var(--theme-text-muted,#6b7280);white-space:nowrap;text-overflow:ellipsis;padding:0 10px 8px;font-size:11px;overflow:hidden}.filter-chip-body{border-top:1px solid var(--theme-border,#e5e7eb);padding:0 10px 10px}.filter-condition{background:var(--theme-surface,#fff);border-radius:4px;align-items:center;gap:6px;margin-top:6px;padding:6px 8px;font-size:12px;display:flex}.filter-condition-operator{color:var(--theme-primary,#7c3aed);font-weight:500}.filter-condition-value{color:var(--theme-text-primary,#111827)}.filter-condition-remove{cursor:pointer;color:var(--theme-text-muted,#9ca3af);background:0 0;border:none;border-radius:2px;margin-left:auto;padding:2px;display:flex}.filter-condition-remove:hover{color:#ef4444;background:#fee2e2}.filter-add-condition{gap:6px;margin-top:8px;display:flex}.filter-operator-select,.filter-value-input{border:1px solid var(--theme-border,#e5e7eb);background:var(--theme-surface,#fff);border-radius:4px;padding:6px 8px;font-size:12px}.filter-operator-select{min-width:100px}.filter-value-input{flex:1;min-width:80px}.filter-add-btn{background:var(--theme-primary,#7c3aed);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:6px 12px;font-size:12px}.filter-add-btn:disabled{opacity:.5;cursor:not-allowed}.filter-bar-add{border-top:1px solid var(--theme-border,#e5e7eb);padding-top:12px}.filter-add-search{background:var(--theme-background,#f9fafb);border:1px solid var(--theme-border,#e5e7eb);border-radius:6px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.filter-add-search input{background:0 0;border:none;outline:none;flex:1;font-size:13px}.filter-add-list{max-height:150px;overflow-y:auto}.filter-add-item{cursor:pointer;text-align:left;width:100%;color:var(--theme-text-primary,#111827);background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 10px;font-size:13px;display:flex}.filter-add-item:hover{background:var(--theme-background,#f9fafb)}.filter-add-icon{color:var(--theme-primary,#7c3aed);font-weight:700}.filter-add-empty{text-align:center;color:var(--theme-text-muted,#9ca3af);padding:12px;font-size:13px}.slicer-widget{background:var(--theme-surface,#fff);border:1px solid var(--theme-border,#e5e7eb);border-radius:8px;overflow:hidden}.slicer-header{background:var(--theme-background,#f9fafb);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.slicer-header:hover{background:var(--theme-hover,#f3f4f6)}.slicer-title{color:var(--theme-text-primary,#111827);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.slicer-selection-count{color:var(--theme-text-muted,#6b7280);font-size:11px;font-weight:400}.slicer-header-actions{align-items:center;gap:6px;display:flex}.slicer-clear-btn{cursor:pointer;width:18px;height:18px;color:var(--theme-text-muted,#9ca3af);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.slicer-clear-btn:hover{color:#ef4444;background:#fee2e2}.slicer-body{padding:8px}.slicer-search{background:var(--theme-background,#f9fafb);border:1px solid var(--theme-border,#e5e7eb);border-radius:6px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex}.slicer-search input{background:0 0;border:none;outline:none;flex:1;font-size:12px}.slicer-search-clear{cursor:pointer;color:var(--theme-text-muted,#9ca3af);background:0 0;border:none;padding:2px;display:flex}.slicer-select-all{border-bottom:1px solid var(--theme-border,#e5e7eb);cursor:pointer;color:var(--theme-text-muted,#6b7280);align-items:center;gap:8px;margin-bottom:4px;padding:8px 10px;font-size:12px;display:flex}.slicer-select-all:hover{background:var(--theme-hover,#f3f4f6)}.slicer-checkbox-partial{position:relative}.slicer-checkbox-partial .partial-indicator{color:var(--theme-primary,#7c3aed);font-size:10px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.slicer-list{overflow-y:auto}.slicer-item{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:8px 10px;transition:background .15s;display:flex}.slicer-item:hover{background:var(--theme-hover,#f3f4f6)}.slicer-item.selected{background:#7c3aed14}.slicer-item.selected .slicer-item-label{color:var(--theme-primary,#7c3aed);font-weight:500}.slicer-radio{border:2px solid var(--theme-border,#d1d5db);border-radius:50%;width:14px;height:14px}.slicer-radio.selected{border-color:var(--theme-primary,#7c3aed);background:var(--theme-primary,#7c3aed);box-shadow:inset 0 0 0 3px #fff}.slicer-item-label{color:var(--theme-text-primary,#111827);font-size:13px}.slicer-dropdown{position:relative}.slicer-dropdown-trigger{background:var(--theme-surface,#fff);border:1px solid var(--theme-border,#e5e7eb);cursor:pointer;border-radius:6px;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;font-size:13px;display:flex}.slicer-dropdown-menu{background:var(--theme-surface,#fff);border:1px solid var(--theme-border,#e5e7eb);z-index:100;border-radius:6px;max-height:200px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.slicer-dropdown-item{cursor:pointer;align-items:center;gap:8px;padding:8px 12px;font-size:13px;display:flex}.slicer-dropdown-item:hover{background:var(--theme-hover,#f3f4f6)}.slicer-dropdown-item.selected{color:var(--theme-primary,#7c3aed);background:#7c3aed14}.slicer-tiles{flex-wrap:wrap;gap:6px;display:flex}.slicer-tile{background:var(--theme-background,#f9fafb);border:1px solid var(--theme-border,#e5e7eb);cursor:pointer;border-radius:16px;padding:6px 12px;font-size:12px;transition:all .15s}.slicer-tile:hover{border-color:var(--theme-primary,#7c3aed)}.slicer-tile.selected{background:var(--theme-primary,#7c3aed);border-color:var(--theme-primary,#7c3aed);color:#fff}.slicer-buttons{flex-wrap:wrap;gap:4px;display:flex}.slicer-button{background:var(--theme-surface,#fff);border:1px solid var(--theme-border,#e5e7eb);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .15s}.slicer-button:hover{background:var(--theme-hover,#f3f4f6)}.slicer-button.selected{background:var(--theme-primary,#7c3aed);border-color:var(--theme-primary,#7c3aed);color:#fff}.slicer-empty{text-align:center;color:var(--theme-text-muted,#9ca3af);padding:16px;font-size:12px}.kpi-card-clickable{transition:transform .15s,box-shadow .15s}.kpi-card-clickable:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.kpi-card-expanded{height:auto!important}.kpi-card-comparisons{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.kpi-comparison-badge{border-radius:4px;align-items:center;gap:4px;padding:3px 6px;font-size:10px;display:flex}.kpi-comparison-badge.positive{color:#22c55e;background:#22c55e1a}.kpi-comparison-badge.negative{color:#ef4444;background:#ef44441a}.kpi-comparison-label{opacity:.8}.kpi-comparison-value{font-weight:600}.kpi-card-secondary-metrics{border-top:1px solid var(--theme-border,#e5e7eb);flex-wrap:wrap;gap:8px;margin-top:8px;padding:8px 0;display:flex}.kpi-secondary-metric{flex:1;min-width:60px}.kpi-secondary-label{color:var(--theme-text-muted,#9ca3af);margin-bottom:2px;font-size:10px;display:block}.kpi-secondary-value-row{align-items:center;gap:4px;display:flex}.kpi-secondary-value{color:var(--theme-text-primary,#111827);font-size:13px;font-weight:600}.kpi-secondary-change{align-items:center;gap:2px;font-size:10px;display:flex}.kpi-secondary-change.positive{color:#22c55e}.kpi-secondary-change.negative{color:#ef4444}.kpi-card-visualization.with-overlay{position:relative}.kpi-sparkline-overlay{opacity:.3;position:absolute;top:0;right:0}.kpi-card-details{border-top:1px solid var(--theme-border,#e5e7eb);margin-top:8px;padding:12px;animation:.2s slideDown}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.kpi-details-header{color:var(--theme-text-primary,#111827);align-items:center;gap:6px;margin-bottom:10px;font-size:12px;font-weight:600;display:flex}.kpi-details-content{flex-direction:column;gap:6px;display:flex}.kpi-detail-row{justify-content:space-between;align-items:center;font-size:12px;display:flex}.kpi-detail-label{color:var(--theme-text-muted,#6b7280)}.kpi-detail-value{color:var(--theme-text-primary,#111827);font-weight:500}.kpi-detail-value.positive{color:#22c55e}.kpi-detail-value.negative{color:#ef4444}.kpi-detail-description{border-top:1px dashed var(--theme-border,#e5e7eb);color:var(--theme-text-muted,#6b7280);align-items:flex-start;gap:6px;margin-top:8px;padding-top:8px;font-size:11px;display:flex}.kpi-drill-down-btn{background:var(--theme-primary,#7c3aed);color:#fff;cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:12px;padding:8px;font-size:12px;font-weight:500;transition:background .15s;display:flex}.kpi-drill-down-btn:hover{background:var(--theme-primary-hover,#6d28d9)}.cell.has-visualization{overflow:visible}.cell-visualization{align-items:center;width:100%;height:100%;padding:2px;display:flex;position:relative}.cell-viz-value{color:var(--theme-text-primary,#111827);z-index:1;font-size:11px;position:absolute;top:50%;right:4px;transform:translateY(-50%)}.cell-viz-progress{background:var(--theme-background,#f3f4f6);border-radius:3px;width:100%;height:16px;position:relative;overflow:hidden}.cell-viz-progress-fill{border-radius:3px;height:100%;transition:width .3s}.cell-viz-progress-text{color:#fff;text-shadow:0 1px 2px #0000004d;font-size:10px;font-weight:500;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.tornado-chart{position:relative}.tornado-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:8px;min-width:180px;padding:12px;box-shadow:0 4px 6px -1px #0000001a}.tornado-tooltip-title{color:#111827;margin-bottom:8px;font-size:13px;font-weight:600}.tornado-tooltip-row{align-items:center;gap:8px;margin-bottom:4px;font-size:12px;display:flex}.tornado-tooltip-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.tornado-tooltip-label{color:#6b7280;flex:1}.tornado-tooltip-value{font-family:monospace;font-weight:600}.tornado-tooltip-divider{background:#e5e7eb;height:1px;margin:8px 0}.tornado-legend{border-top:1px solid #e5e7eb;justify-content:center;gap:24px;margin-top:12px;padding-top:12px;display:flex}.tornado-legend-item{color:#6b7280;align-items:center;gap:6px;font-size:12px;display:flex}.tornado-legend-color{border-radius:3px;width:12px;height:12px}.tornado-summary{background:#f9fafb;border-radius:6px;justify-content:center;gap:24px;margin-top:8px;padding:8px 12px;display:flex}.tornado-summary-item{align-items:center;gap:6px;font-size:12px;display:flex}.tornado-summary-label{color:#6b7280}.tornado-summary-value{color:#111827;font-weight:600}.smart-narrative{background:#fff;border-radius:12px;overflow:hidden}.smart-narrative-card{border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000001a}.smart-narrative-inline{background:0 0;border:none}.smart-narrative-panel{border-left:1px solid #e5e7eb;border-radius:0}.smart-narrative-compact .smart-narrative-header{padding:8px 12px}.smart-narrative-compact .smart-narrative-insights{gap:8px;padding:8px 12px}.smart-narrative-expanded .smart-narrative-header{padding:16px 20px}.smart-narrative-expanded .smart-narrative-insights{gap:16px;padding:16px 20px}.smart-narrative-header{color:#fff;background:linear-gradient(135deg,#667eea,#764ba2);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.smart-narrative-title-row{align-items:center;gap:8px;display:flex}.smart-narrative-icon{opacity:.9}.smart-narrative-title{margin:0;font-size:14px;font-weight:600}.smart-narrative-count{background:#fff3;border-radius:12px;padding:2px 8px;font-size:11px;font-weight:500}.smart-narrative-actions{align-items:center;gap:4px;display:flex}.smart-narrative-refresh-btn,.smart-narrative-collapse-btn{color:#fff;cursor:pointer;background:#ffffff26;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;transition:background .2s;display:flex}.smart-narrative-refresh-btn:hover,.smart-narrative-collapse-btn:hover{background:#ffffff40}.smart-narrative-refresh-btn:disabled{opacity:.5;cursor:not-allowed}.smart-narrative-refresh-btn .spinning{animation:1s linear infinite spin}.smart-narrative-summary{color:#0369a1;background:#f0f9ff;border-bottom:1px solid #e0f2fe;align-items:center;gap:8px;padding:10px 16px;font-size:13px;display:flex}.smart-narrative-loading,.smart-narrative-empty{color:#9ca3af;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px;display:flex}.smart-narrative-loading .spinning{animation:1s linear infinite spin}.smart-narrative-insights{flex-direction:column;gap:12px;padding:12px 16px;display:flex}.smart-narrative-insight{cursor:pointer;border:1px solid;border-radius:8px;padding:12px;transition:all .2s}.smart-narrative-insight:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000000d}.smart-narrative-insight.expanded{box-shadow:0 4px 6px #0000001a}.smart-narrative-insight-header{align-items:flex-start;gap:10px;display:flex}.smart-narrative-insight-icons{flex-direction:column;gap:4px;padding-top:2px;display:flex}.smart-narrative-insight-content{flex:1;min-width:0}.smart-narrative-insight-title{margin-bottom:4px;font-size:13px;font-weight:600}.smart-narrative-insight-narrative{color:#4b5563;font-size:12px;line-height:1.5}.smart-narrative-expand-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.smart-narrative-expand-btn:hover{color:#6b7280;background:#0000000d}.smart-narrative-insight-details{border-top:1px solid #0000001a;margin-top:12px;padding-top:12px}.smart-narrative-insight-details p{color:#6b7280;margin:0 0 12px;font-size:12px;line-height:1.5}.smart-narrative-datapoints{flex-wrap:wrap;gap:8px;display:flex}.smart-narrative-datapoint{background:#00000008;border-radius:6px;align-items:center;gap:6px;padding:6px 10px;font-size:11px;display:flex}.datapoint-label{color:#6b7280}.datapoint-value{color:#111827;font-weight:600}.datapoint-previous{color:#9ca3af;align-items:center;gap:4px;display:flex}.smart-narrative-timestamp{color:#9ca3af;border-top:1px solid #f3f4f6;justify-content:flex-end;align-items:center;gap:4px;padding:8px 16px;font-size:10px;display:flex}.auth-overlay{z-index:99999;-webkit-backdrop-filter:blur(16px);background:#fff9;justify-content:center;align-items:center;animation:.3s authFadeIn;display:flex;position:fixed;inset:0}.auth-card{background:#fff;border-radius:20px;flex-direction:column;align-items:center;width:100%;max-width:400px;padding:48px 56px;animation:.4s cubic-bezier(.16,1,.3,1) authCardIn;display:flex;box-shadow:0 20px 60px #0000001f,0 0 0 1px #0000000d}@keyframes authCardIn{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.auth-logo{width:56px;height:56px;margin-bottom:16px}.auth-title{color:#111827;margin:0 0 6px;font-size:24px;font-weight:700}.auth-subtitle{color:#6b7280;margin:0 0 32px;font-size:15px}.auth-google-btn{color:#3c4043;cursor:pointer;background:#fff;border:1px solid #dadce0;border-radius:12px;justify-content:center;align-items:center;gap:12px;width:100%;padding:12px 24px;font-family:inherit;font-size:15px;font-weight:500;transition:all .15s;display:flex}.auth-google-btn+.auth-google-btn{margin-top:10px}.auth-google-btn-signup{color:#fff;background:#7c3aed;border-color:#7c3aed}.auth-google-btn-signup svg path{fill:#fff}.auth-google-btn-signup:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9;box-shadow:0 2px 8px #7c3aed4d}.auth-google-btn:not(.auth-google-btn-signup):hover:not(:disabled){background:#f8f9fa;box-shadow:0 2px 8px #00000014}.auth-google-btn:active:not(:disabled){transform:scale(.98)}.auth-google-btn:disabled{opacity:.7;cursor:not-allowed}.auth-spinner{border:2px solid #e5e7eb;border-top-color:#7c3aed;border-radius:50%;width:20px;height:20px;animation:.6s linear infinite authSpin}.auth-error{color:#dc2626;margin:16px 0 0;font-size:13px}.profile-avatar-img{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:32px;height:32px}.profile-avatar-img-large{-o-object-fit:cover;object-fit:cover;border-radius:50%;width:40px;height:40px}.offline-overlay{z-index:100000;-webkit-backdrop-filter:blur(20px);background:#ffffffa6;justify-content:center;align-items:center;animation:.3s offlineFadeIn;display:flex;position:fixed;inset:0}@keyframes offlineFadeIn{0%{opacity:0}to{opacity:1}}.offline-card{text-align:center;background:#fff;border-radius:24px;flex-direction:column;align-items:center;width:90%;max-width:400px;padding:48px 56px;animation:.4s cubic-bezier(.34,1.56,.64,1) offlineSlideIn;display:flex;box-shadow:0 25px 60px #0000001f,0 0 0 1px #0000000a}@keyframes offlineSlideIn{0%{opacity:0;transform:scale(.92)translateY(16px)}to{opacity:1;transform:scale(1)translateY(0)}}.offline-icon-wrapper{margin-bottom:24px;position:relative}.offline-logo{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:18px;width:64px;height:64px;padding:14px;box-shadow:0 8px 24px #7c3aed4d}.offline-badge{color:#fff;background:#ef4444;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:absolute;bottom:-6px;right:-6px;box-shadow:0 2px 8px #ef444466}.offline-title{color:#111827;margin:0 0 8px;font-size:22px;font-weight:700}.offline-message{color:#6b7280;margin:0 0 28px;font-size:14px;line-height:1.6}.offline-status{color:#92400e;background:#fef3c7;border-radius:12px;align-items:center;gap:10px;padding:10px 20px;font-size:13px;font-weight:500;display:flex}.offline-spinner{border:2px solid #fbbf24;border-top-color:#92400e;border-radius:50%;width:16px;height:16px;animation:1s linear infinite offlineSpin}@keyframes offlineSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}.confirm-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}.confirm-dialog{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:400px;box-shadow:0 20px 40px #00000026;animation:slideIn .2s ease-out}.confirm-dialog-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.confirm-icon{flex-shrink:0}.confirm-icon-warning{color:#f59e0b}.confirm-icon-danger{color:#ef4444}.confirm-icon-info{color:#3b82f6}.confirm-dialog-title{margin:0;font-size:18px;font-weight:600;color:#1f2937}.confirm-dialog-message{margin:0 0 24px;color:#6b7280;font-size:14px;line-height:1.5;padding-left:36px}.confirm-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.confirm-dialog-btn{padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none}.confirm-dialog-btn-cancel{background:#636366;color:#fff}.confirm-dialog-btn-cancel:hover{background:#545458}.confirm-dialog-btn-confirm{color:#fff;background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.confirm-dialog-btn-confirm:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.confirm-dialog-btn-warning{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.confirm-dialog-btn-warning:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.confirm-dialog-btn-danger{background:linear-gradient(135deg,#ef4444,#dc2626)}.confirm-dialog-btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c)}.confirm-dialog-btn-info{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.confirm-dialog-btn-info:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.confirm-dialog-btn:focus{outline:none;box-shadow:0 0 0 3px #6366f14d}.confirm-dialog-dark{background:#3a3a3c;border-radius:16px;padding:20px 24px;text-align:center}.confirm-dialog-dark .confirm-dialog-header{justify-content:center;margin-bottom:4px}.confirm-dialog-dark .confirm-dialog-title{color:#fff;font-size:17px;font-weight:600}.confirm-dialog-dark .confirm-dialog-message{color:#ffffffd9;padding-left:0;margin-bottom:20px;font-size:13px}.confirm-dialog-dark .confirm-dialog-actions{gap:10px;justify-content:center}.confirm-dialog-dark .confirm-dialog-btn{flex:1;padding:14px 32px;border-radius:100px;font-size:17px;font-weight:600;min-width:140px}.confirm-dialog-dark .confirm-dialog-btn-cancel{background:#636366;color:#fff}.confirm-dialog-dark .confirm-dialog-btn-cancel:hover{background:#545458}.confirm-dialog-dark .confirm-dialog-btn-confirm{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.confirm-dialog-dark .confirm-dialog-btn-confirm:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.info-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;animation:fadeIn .15s ease-out}.info-dialog{background:#fff;border-radius:12px;padding:24px;width:90%;max-width:400px;box-shadow:0 20px 40px #00000026;animation:slideIn .2s ease-out}.info-dialog-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.info-icon{flex-shrink:0}.info-icon-info{color:#3b82f6}.info-icon-success{color:#10b981}.info-icon-warning{color:#f59e0b}.info-dialog-title{margin:0;font-size:18px;font-weight:600;color:#1f2937}.info-dialog-message{margin:0 0 24px;color:#6b7280;font-size:14px;line-height:1.5;padding-left:36px}.info-dialog-actions{display:flex;gap:12px;justify-content:flex-end}.info-dialog-btn{padding:10px 24px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .15s ease;border:none;color:#fff;min-width:100px}.info-dialog-btn-info{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.info-dialog-btn-info:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.info-dialog-btn-success{background:linear-gradient(135deg,#10b981,#059669)}.info-dialog-btn-success:hover{background:linear-gradient(135deg,#059669,#047857)}.info-dialog-btn-warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.info-dialog-btn-warning:hover{background:linear-gradient(135deg,#d97706,#b45309)}.info-dialog-btn:focus{outline:none;box-shadow:0 0 0 3px #8b5cf64d}.pivot-dialog{width:900px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column}.pivot-dialog-content{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.pivot-source-section{display:flex;gap:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.pivot-label{display:flex;align-items:center;gap:8px;font-size:13px;color:#374151}.pivot-input{padding:6px 10px;border:1px solid #d1d5db;border-radius:4px;font-size:13px;min-width:150px}.pivot-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf61a}.pivot-dialog-main{display:grid;grid-template-columns:200px 1fr 250px;gap:16px;min-height:350px;max-height:400px;overflow:hidden}.pivot-dialog-main>*{min-height:0;overflow:hidden}.pivot-field-list{border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;background:#fafafa;height:100%;max-height:350px;min-height:0;overflow:hidden}.pivot-field-list-header{padding:10px 12px;border-bottom:1px solid #e5e7eb;background:#f3f4f6;border-radius:6px 6px 0 0}.pivot-field-list-title{font-weight:600;font-size:13px;color:#374151;display:block}.pivot-field-list-hint{font-size:11px;color:#6b7280;display:block;margin-top:2px}.pivot-field-list-content{flex:1;overflow-y:auto;padding:8px;min-height:0;max-height:calc(100% - 80px)}.pivot-field-list-empty{padding:20px;text-align:center;color:#9ca3af;font-size:12px}.pivot-field-list-footer{padding:8px 12px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 6px 6px}.pivot-field-list-legend{display:flex;gap:12px;font-size:10px;color:#6b7280}.legend-item{display:flex;align-items:center;gap:3px}.pivot-source-field{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:4px;cursor:grab;font-size:12px;color:#374151;transition:background-color .15s}.pivot-source-field:hover{background:#e5e7eb}.pivot-source-field.used{opacity:.6}.pivot-source-field.dragging{opacity:.5;cursor:grabbing}.pivot-source-field-drag{color:#9ca3af;cursor:grab}.pivot-source-field-icon{flex-shrink:0}.pivot-source-field-icon.number{color:#3b82f6}.pivot-source-field-icon.text{color:#6b7280}.pivot-source-field-icon.date{color:#f59e0b}.pivot-source-field-icon.boolean{color:#10b981}.pivot-source-field-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pivot-source-field-badge{font-size:9px;padding:1px 4px;background:#ddd6fe;color:#7c3aed;border-radius:3px}.pivot-field-areas{display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0}.pivot-field-areas-row{display:flex;gap:8px}.pivot-field-areas-row.two-col,.pivot-field-areas-row.two-col .pivot-field-area{flex:1}.pivot-field-area{border:2px dashed #d1d5db;border-radius:6px;min-height:80px;max-height:180px;background:#fafafa;transition:all .15s;display:flex;flex-direction:column;overflow:hidden}.pivot-field-area.active{border-color:#8b5cf6;background:#8b5cf60d}.pivot-field-area-header{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid #e5e7eb;background:#f3f4f6;border-radius:4px 4px 0 0;font-size:12px;font-weight:600;color:#4b5563}.pivot-field-area-content{padding:8px;min-height:50px;display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto;min-height:0}.pivot-field-area-placeholder{color:#9ca3af;font-size:11px;text-align:center;padding:12px}.pivot-field-item{display:flex;align-items:center;gap:4px;padding:4px 6px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:11px;cursor:default;transition:all .15s;touch-action:none}.pivot-field-item:hover{border-color:#8b5cf6;box-shadow:0 1px 3px #0000001a}.pivot-field-item.dragging{opacity:.5}.pivot-field-item.overlay{box-shadow:0 4px 12px #00000026;border-color:#8b5cf6}.pivot-field-drag-handle{color:#9ca3af;cursor:grab;display:flex;align-items:center;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pivot-field-content{flex:1;display:flex;align-items:center;gap:4px;cursor:pointer;overflow:hidden}.pivot-field-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151}.pivot-field-dropdown-icon{color:#9ca3af;flex-shrink:0}.pivot-field-remove{padding:2px;border:none;background:none;color:#9ca3af;cursor:pointer;border-radius:3px;display:flex;align-items:center;justify-content:center}.pivot-field-remove:hover{color:#ef4444;background:#fee2e2}.pivot-preview-section{border:1px solid #e5e7eb;border-radius:6px;display:flex;flex-direction:column;background:#fff;max-height:100%;min-height:0;overflow:hidden}.pivot-preview-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid #e5e7eb;background:#f3f4f6;border-radius:6px 6px 0 0;font-size:12px;font-weight:600;color:#4b5563}.pivot-refresh-btn{padding:4px;border:none;background:none;color:#6b7280;cursor:pointer;border-radius:4px}.pivot-refresh-btn:hover{background:#e5e7eb;color:#374151}.pivot-preview-container{flex:1;overflow:auto;padding:8px;min-height:0}.pivot-preview-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#9ca3af;font-size:12px}.pivot-preview-table{width:100%;border-collapse:collapse;font-size:10px}.pivot-preview-cell{padding:4px 6px;border:1px solid #e5e7eb;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.pivot-preview-cell.header{background:#f3f4f6;font-weight:600;color:#374151}.pivot-preview-cell.total{background:#fef3c7;font-weight:600}.pivot-preview-cell.truncated{color:#9ca3af;font-style:italic;text-align:center}.pivot-options-section{display:flex;gap:20px;padding-top:12px;border-top:1px solid #e5e7eb}.pivot-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;color:#4b5563;cursor:pointer}.pivot-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:#8b5cf6}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 16px;border-top:1px solid #e5e7eb;background:#f9fafb}.pivot-btn{padding:8px 16px;border-radius:6px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.pivot-btn.primary{background:#8b5cf6;color:#fff;border:none}.pivot-btn.primary:hover:not(:disabled){background:#7c3aed}.pivot-btn.primary:disabled{background:#d1d5db;cursor:not-allowed}.pivot-btn.secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.pivot-btn.secondary:hover{background:#f3f4f6}.pivot-table-container{overflow:auto;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.pivot-table-container.compact{font-size:11px}.pivot-table{border-collapse:collapse;width:100%;font-size:12px}.pivot-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#6b7280}.pivot-table-empty-hint{font-size:12px;color:#9ca3af;margin-top:8px}.pivot-cell{padding:6px 10px;border:1px solid #e5e7eb;text-align:left;vertical-align:middle;white-space:nowrap}.pivot-cell.header{background:#f3f4f6;font-weight:600;color:#374151}.pivot-cell.row-header{text-align:left}.pivot-cell.col-header{text-align:center}.pivot-cell.grand-total{background:#fef3c7;font-weight:600}.pivot-cell.subtotal{background:#f9fafb;font-weight:500}.pivot-cell.level-1{padding-left:24px}.pivot-cell.level-2{padding-left:40px}.pivot-cell.level-3{padding-left:56px}.pivot-cell.level-4{padding-left:72px}.pivot-cell.level-5{padding-left:88px}.pivot-expand-icon{color:#6b7280;flex-shrink:0}.pivot-cell-value{flex:1;overflow:hidden;text-overflow:ellipsis}.pivot-table-container.theme-light .pivot-cell.header{background:#f3f4f6}.pivot-table-container.theme-medium .pivot-cell.header{background:#d1d5db}.pivot-table-container.theme-dark .pivot-cell.header{background:#4b5563;color:#fff}.pivot-table-container.theme-minimal .pivot-cell{border-color:transparent}.pivot-table-container.theme-minimal .pivot-cell.header{background:transparent;border-bottom:2px solid #374151}.pivot-table .data-row:hover .pivot-cell:not(.header){background:#8b5cf60d}.pivot-drilldown-modal{width:700px;max-width:90vw;max-height:80vh;display:flex;flex-direction:column}.pivot-drilldown-subtitle{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#f3f4f6;border-bottom:1px solid #e5e7eb}.pivot-drilldown-path{font-size:13px;font-weight:500;color:#374151}.pivot-drilldown-count{font-size:12px;color:#6b7280}.pivot-drilldown-content{flex:1;overflow:auto;padding:16px}.pivot-drilldown-empty{display:flex;align-items:center;justify-content:center;height:100px;color:#9ca3af;font-size:13px}.pivot-drilldown-table-wrapper{overflow-x:auto}.pivot-drilldown-table{width:100%;border-collapse:collapse;font-size:12px}.pivot-drilldown-table th,.pivot-drilldown-table td{padding:8px 12px;text-align:left;border:1px solid #e5e7eb;white-space:nowrap}.pivot-drilldown-table tbody tr:nth-child(2n){background:#f9fafb}.pivot-drilldown-table tbody tr:hover{background:#8b5cf60d}.pivot-drilldown-row-num{color:#9ca3af;width:40px;text-align:center!important}.pivot-field-settings{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 25px #00000026;width:260px;overflow:hidden}.pivot-field-settings-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f3f4f6;border-bottom:1px solid #e5e7eb}.pivot-field-settings-title{font-size:13px;font-weight:600;color:#374151}.pivot-field-settings-close{padding:4px;border:none;background:none;color:#6b7280;cursor:pointer;border-radius:4px}.pivot-field-settings-close:hover{background:#e5e7eb;color:#374151}.pivot-field-settings-content{padding:12px;display:flex;flex-direction:column;gap:12px}.pivot-field-settings-section{display:flex;flex-direction:column;gap:6px}.pivot-field-settings-label{font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.pivot-field-settings-label-sm{font-size:11px;color:#6b7280}.pivot-field-settings-select{padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px;background:#fff}.pivot-field-settings-select:focus{outline:none;border-color:#8b5cf6}.pivot-field-settings-input{width:60px;padding:4px 8px;border:1px solid #d1d5db;border-radius:4px;font-size:12px}.pivot-field-settings-row{display:flex;align-items:center;justify-content:space-between;margin-top:6px}.pivot-field-settings-buttons{display:flex;gap:4px}.pivot-field-settings-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;border:1px solid #d1d5db;border-radius:4px;background:#fff;font-size:11px;color:#4b5563;cursor:pointer;transition:all .15s}.pivot-field-settings-btn:hover{background:#f3f4f6}.pivot-field-settings-btn.active{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.pivot-field-settings-checkbox{display:flex;align-items:center;gap:6px;font-size:12px;color:#4b5563;cursor:pointer}.pivot-field-settings-checkbox input[type=checkbox]{width:14px;height:14px;accent-color:#8b5cf6}.pivot-field-settings-footer{display:flex;justify-content:space-between;padding:10px 12px;border-top:1px solid #e5e7eb;background:#f9fafb}.pivot-btn-sm{padding:5px 10px;border-radius:4px;font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.pivot-btn-sm.primary{background:#8b5cf6;color:#fff;border:none}.pivot-btn-sm.primary:hover{background:#7c3aed}.pivot-btn-sm.danger{background:#fff;color:#dc2626;border:1px solid #fca5a5}.pivot-btn-sm.danger:hover{background:#fef2f2}.pivot-view-container{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:8px;overflow:hidden}.pivot-view-container.expanded{position:fixed;inset:0;z-index:1000;border-radius:0}.pivot-view-header{display:none}.pivot-view-toolbar{display:flex;justify-content:space-between;align-items:center;padding:6px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;gap:16px}.pivot-view-left{display:flex;align-items:center;gap:8px}.pivot-view-title{font-weight:600;font-size:14px;color:#374151}.pivot-view-btn.back-to-data{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f3f4f6;border:1px solid #d1d5db;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.pivot-view-btn.back-to-data:hover{background:#e5e7eb;border-color:#9ca3af}.pivot-view-btn.back-to-data svg{color:#6b7280}.pivot-view-title-old{display:flex;flex-direction:column;gap:2px}.pivot-view-name{font-weight:600;font-size:16px}.pivot-view-source{font-size:12px;opacity:.85}.pivot-view-actions{display:flex;gap:4px}.pivot-view-btn{padding:4px 8px;border:1px solid #e5e7eb;border-radius:4px;font-size:12px;cursor:pointer;transition:all .15s ease;background:#fff;color:#6b7280}.pivot-view-btn:hover{background:#f3f4f6;color:#374151}.pivot-view-btn.icon{padding:4px;display:flex;align-items:center;justify-content:center;border:none;background:transparent}.pivot-view-btn.danger:hover{background:#fee2e2;color:#dc2626}.pivot-view-footer{display:flex;justify-content:space-between;padding:8px 16px;background:#f3f4f6;font-size:12px;color:#6b7280;border-top:1px solid #e5e7eb}.pivot-view-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:16px;color:#6b7280}.pivot-table-container{overflow:auto;background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001a}.pivot-table-container.compact .pivot-table{font-size:12px}.pivot-table{border-collapse:collapse;width:100%;font-size:13px}.pivot-table th,.pivot-table td{border:1px solid #e5e7eb;padding:8px 12px;text-align:left;white-space:nowrap}.pivot-table th{background:#f3f4f6;font-weight:600;color:#374151}.pivot-cell.header{background:#f3f4f6;font-weight:600}.pivot-cell.row-header{background:#f9fafb;color:#374151}.pivot-cell.col-header{background:#f3f4f6;color:#374151}.pivot-cell.grand-total{background:#374151!important;font-weight:700;color:#fff}.pivot-cell.subtotal{background:#e5e7eb;font-weight:600}.pivot-cell.striped{background:#f9fafb}.pivot-cell.expandable{cursor:pointer}.pivot-cell.expandable:hover{background:#e5e7eb}.pivot-cell-content{display:flex;align-items:center;gap:4px}.pivot-expand-icon{flex-shrink:0;color:#6b7280}.pivot-cell-value{overflow:hidden;text-overflow:ellipsis}.pivot-cell.level-1{padding-left:24px!important}.pivot-cell.level-2{padding-left:40px!important}.pivot-cell.level-3{padding-left:56px!important}.pivot-cell.level-4{padding-left:72px!important}.pivot-cell.level-5{padding-left:88px!important}.pivot-table-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#9ca3af}.pivot-table-empty-hint{font-size:12px;margin-top:8px}.pivot-table-container.theme-dark{background:#1f2937}.pivot-table-container.theme-dark .pivot-table th,.pivot-table-container.theme-dark .pivot-table td{border-color:#374151;color:#e5e7eb}.pivot-table-container.theme-dark .pivot-cell.header{background:#374151}.pivot-table-container.theme-dark .pivot-cell.row-header{background:#312e81;color:#c4b5fd}.pivot-table-container.theme-dark .pivot-cell.grand-total{background:#78350f!important;color:#fcd34d}.pivot-view-main{display:flex;flex:1;overflow:hidden}.pivot-view-field-panel{width:220px;min-width:220px;background:#fff;border-right:1px solid #e5e7eb;display:flex;flex-direction:column;overflow-y:auto}.pivot-field-panel-section{padding:8px;border-bottom:1px solid #f3f4f6}.pivot-field-panel-header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;margin-bottom:6px;padding:4px 0}.pivot-field-panel-section .pivot-field-area{min-height:50px;background:#f9fafb;border-radius:4px;border:1px dashed #d1d5db}.pivot-field-panel-section .pivot-field-area.active{border-color:#8b5cf6;background:#f5f3ff}.pivot-field-panel-section .pivot-field-area-header{display:none}.pivot-field-panel-section .pivot-field-area-content{padding:4px}.pivot-field-panel-section .pivot-field-area-placeholder{font-size:11px;color:#9ca3af;padding:12px 8px;text-align:center}.pivot-field-panel-section .pivot-field-item{font-size:12px;padding:4px 8px;margin:2px 0}.pivot-view-content{flex:1;overflow:auto;padding:16px;background:#f9fafb}.pivot-view-hint{color:#9ca3af;font-style:italic}.pivot-drilldown-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.pivot-drilldown-modal{background:#fff;border-radius:8px;width:90%;max-width:900px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 50px #0000004d}.pivot-drilldown-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:8px 8px 0 0}.pivot-drilldown-header h3{margin:0;font-size:16px;font-weight:600}.pivot-drilldown-close{background:#fff3;border:none;color:#fff;padding:4px;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center}.pivot-drilldown-close:hover{background:#ffffff4d}.pivot-drilldown-path{display:flex;gap:16px;padding:12px 20px;background:#f9fafb;font-size:13px;color:#374151;border-bottom:1px solid #e5e7eb}.pivot-drilldown-path span{display:flex;gap:6px}.pivot-drilldown-content{flex:1;overflow:auto;padding:0}.pivot-drilldown-table{width:100%;border-collapse:collapse;font-size:13px}.pivot-drilldown-table th,.pivot-drilldown-table td{padding:10px 16px;text-align:left;border-bottom:1px solid #e5e7eb}.pivot-drilldown-table th{background:#f3f4f6;font-weight:600;color:#374151;position:sticky;top:0}.pivot-drilldown-table tr:hover td{background:#f9fafb}.pivot-drilldown-table td{white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.pivot-drilldown-truncated{padding:12px 20px;text-align:center;color:#6b7280;font-size:13px;background:#f9fafb;margin:0}.pivot-inline-drilldown{margin-top:16px;border:1px solid #e9d5ff;border-radius:8px;background:linear-gradient(to bottom,#faf5ff,#f5f3ff);overflow:hidden}.pivot-inline-drilldown-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:linear-gradient(to right,#f5f3ff,#ede9fe);border-bottom:1px solid #e9d5ff}.pivot-inline-drilldown-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:#7c3aed}.pivot-inline-drilldown-title>svg{color:#8b5cf6}.pivot-inline-drilldown-empty{color:#9ca3af;font-weight:400;font-style:italic}.pivot-inline-drilldown-path{display:flex;align-items:center;gap:4px;margin-left:8px}.pivot-path-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#fff;border:1px solid #e9d5ff;border-radius:4px;font-size:12px;font-weight:400;color:#6b7280}.pivot-path-chip svg{color:#c4b5fd}.pivot-path-label{color:#9ca3af}.pivot-path-value{color:#7c3aed;font-weight:500}.pivot-inline-drilldown-actions{display:flex;align-items:center;gap:8px}.pivot-inline-drilldown-count{font-size:12px;color:#6b7280;padding-right:8px;border-right:1px solid #e9d5ff}.pivot-inline-drilldown-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:#fff;border-radius:4px;color:#6b7280;cursor:pointer;transition:all .15s ease}.pivot-inline-drilldown-btn:hover{background:#ede9fe;color:#7c3aed}.pivot-inline-drilldown-btn.close:hover{background:#fee2e2;color:#dc2626}.pivot-inline-drilldown-close{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:transparent;border-radius:4px;color:#6b7280;cursor:pointer;transition:all .15s ease}.pivot-inline-drilldown-close:hover{background:#fee2e2;color:#dc2626}.pivot-inline-drilldown-table-wrapper{max-height:300px;overflow:auto;background:#fff}.pivot-inline-drilldown-table{width:100%;border-collapse:collapse;font-size:12px}.pivot-inline-drilldown-table th,.pivot-inline-drilldown-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #f3e8ff}.pivot-inline-drilldown-table th{background:#faf5ff;font-weight:600;color:#6b7280;position:sticky;top:0;z-index:1}.pivot-inline-drilldown-table tbody tr:hover{background:#faf5ff}.pivot-inline-drilldown-table td{color:#374151;white-space:nowrap;max-width:200px;overflow:hidden;text-overflow:ellipsis}.pivot-drilldown-row-num{color:#9ca3af;font-size:11px;width:40px;text-align:center}.pivot-inline-drilldown-truncated{padding:10px 14px;text-align:center;color:#7c3aed;font-size:12px;background:#faf5ff;border-top:1px solid #f3e8ff}.pivot-dimension-row{background:var(--pivot-header-bg, #f3f4f6)}.pivot-dimension-cell{padding:8px 12px;border:1px solid var(--pivot-border-color, #e5e7eb);vertical-align:middle}.pivot-dimension-cell.row-area{background:var(--pivot-row-header-bg, #f9fafb)}.pivot-dimension-cell.col-area{background:var(--pivot-col-header-bg, #f3f4f6)}.pivot-dimension-area{display:flex;flex-wrap:wrap;gap:6px;min-height:28px;align-items:center}.dimension-placeholder{color:#9ca3af;font-size:11px;font-style:italic}.pivot-dimension-header{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#fff;border:1px solid var(--pivot-border-color, #d1d5db);border-radius:4px;font-size:12px;cursor:grab;transition:all .15s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pivot-dimension-header:hover{border-color:var(--pivot-accent, #8b5cf6);box-shadow:0 1px 4px #0000001a}.pivot-dimension-header.dragging{opacity:.5;cursor:grabbing}.pivot-dimension-header.overlay{box-shadow:0 4px 12px #0003;border-color:var(--pivot-accent, #8b5cf6);z-index:100}.dimension-drag-handle{color:#9ca3af;display:flex;align-items:center;cursor:grab}.dimension-name{font-weight:600;color:var(--pivot-header-text, #374151)}.dimension-actions{display:flex;gap:2px;opacity:0;transition:opacity .15s ease}.pivot-dimension-header:hover .dimension-actions,.dimension-actions.visible{opacity:1}.dimension-action-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:3px;transition:all .15s ease}.dimension-action-btn:hover{background:var(--pivot-accent, #8b5cf6);color:#fff}.dimension-sort-indicator{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:var(--pivot-accent, #8b5cf6);color:#fff;cursor:pointer;border-radius:3px;font-size:10px}.pivot-drill-link{display:inline-flex;align-items:center;gap:2px;padding:1px 5px;border:none;background:transparent;color:var(--pivot-drill-link, #3b82f6);font-size:10px;cursor:pointer;border-radius:3px;transition:all .15s ease;text-decoration:none}.pivot-drill-link:hover:not(:disabled){background:#3b82f61a;text-decoration:underline}.pivot-drill-link.disabled{opacity:.4;cursor:not-allowed}.pivot-drill-link.down{color:#3b82f6}.pivot-drill-link.up{color:#ef4444}.pivot-expand-arrow{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:var(--pivot-expand-arrow, #6b7280);cursor:pointer;border-radius:3px;transition:all .15s ease}.pivot-expand-arrow:hover{background:#6b72801a;color:#374151}.pivot-expand-arrow.expanded{color:var(--pivot-collapse-arrow, #374151)}.pivot-expand-placeholder{display:inline-block;width:18px}.pivot-back-arrow{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;border:none;background:#f3f4f6;color:#6b7280;font-size:11px;cursor:pointer;border-radius:4px;transition:all .15s ease}.pivot-back-arrow:hover{background:#e5e7eb;color:#374151}.pivot-hierarchy-level{display:flex;align-items:center;gap:2px;font-size:11px}.hierarchy-separator{color:#9ca3af;padding:0 2px}.hierarchy-level-btn{padding:2px 6px;border:none;background:transparent;color:#9ca3af;cursor:pointer;border-radius:3px}.hierarchy-level-btn.active{color:#374151}.hierarchy-level-btn.current{background:#e5e7eb;font-weight:600}.hierarchy-level-btn:disabled{cursor:not-allowed}.pivot-col-header-content{display:flex;flex-direction:column;align-items:center;gap:2px}.col-header-value{font-weight:600}.pivot-theme-selector{position:relative}.pivot-theme-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #00000026;min-width:140px;z-index:100;overflow:hidden}.pivot-theme-option{display:flex;align-items:center;gap:8px;padding:10px 12px;border:none;background:transparent;width:100%;text-align:left;font-size:13px;color:#374151;cursor:pointer;transition:background .15s ease}.pivot-theme-option:hover{background:#f3f4f6}.pivot-theme-option.active{background:#ede9fe;color:#7c3aed}.pivot-view-divider{width:1px;height:16px;background:#e5e7eb;margin:0 4px}.pivot-view-btn.active{background:#e5e7eb;color:#374151}.pivot-table-container.theme-light{--pivot-header-bg: #f3f4f6;--pivot-header-text: #1f2937;--pivot-border-color: #e5e7eb;--pivot-data-bg: #ffffff;--pivot-data-text: #1f2937;--pivot-data-alt-bg: #fafafa;--pivot-row-header-bg: #f9fafb;--pivot-row-header-text: #1f2937;--pivot-col-header-bg: #f3f4f6;--pivot-col-header-text: #374151;--pivot-accent: #8b5cf6;--pivot-drill-link: #3b82f6}.pivot-table-container.theme-light .pivot-cell.row-header{background:#f9fafb;color:#374151}.pivot-table-container.theme-light .pivot-cell.col-header{background:#f3f4f6;color:#374151}.pivot-table-container.theme-dark{--pivot-header-bg: #1f2937;--pivot-header-text: #f9fafb;--pivot-border-color: #374151;--pivot-data-bg: #111827;--pivot-data-text: #f9fafb;--pivot-data-alt-bg: #1f2937;--pivot-row-header-bg: #f97316;--pivot-row-header-text: #ffffff;--pivot-col-header-bg: #1f2937;--pivot-col-header-text: #f9fafb;--pivot-accent: #a78bfa;--pivot-drill-link: #60a5fa;background:#111827}.pivot-table-container.theme-dark .pivot-table th,.pivot-table-container.theme-dark .pivot-table td{border-color:#374151;color:#f9fafb}.pivot-table-container.theme-dark .pivot-cell.header{background:#374151;color:#f9fafb}.pivot-table-container.theme-dark .pivot-cell.row-header{background:linear-gradient(135deg,#f97316,#fb923c);color:#fff;font-weight:500}.pivot-table-container.theme-dark .pivot-cell.col-header{background:#1f2937;color:#f9fafb}.pivot-table-container.theme-dark .pivot-cell.grand-total{background:#4b5563!important;color:#fff!important}.pivot-table-container.theme-dark .pivot-cell.subtotal{background:#374151;color:#f9fafb}.pivot-table-container.theme-dark .pivot-dimension-header{background:#374151;border-color:#4b5563}.pivot-table-container.theme-dark .dimension-name{color:#f9fafb}.pivot-table-container.theme-dark .pivot-drill-link{color:#60a5fa}.pivot-table-container.theme-professional{--pivot-header-bg: #1e40af;--pivot-header-text: #ffffff;--pivot-border-color: #bfdbfe;--pivot-data-bg: #ffffff;--pivot-data-text: #1f2937;--pivot-data-alt-bg: #f8fafc;--pivot-row-header-bg: #dbeafe;--pivot-row-header-text: #1e40af;--pivot-col-header-bg: #1e40af;--pivot-col-header-text: #ffffff;--pivot-accent: #2563eb;--pivot-drill-link: #1e40af}.pivot-table-container.theme-professional .pivot-cell.header{background:#1e40af;color:#fff}.pivot-table-container.theme-professional .pivot-cell.row-header{background:#dbeafe;color:#1e40af;font-weight:500}.pivot-table-container.theme-professional .pivot-cell.col-header{background:#1e40af;color:#fff}.pivot-table-container.theme-professional .pivot-cell.grand-total{background:#1e40af!important;color:#fff!important}.pivot-table-container.theme-professional .pivot-cell.subtotal{background:#bfdbfe;color:#1e3a8a}.pivot-table-container.theme-professional .pivot-dimension-header{background:#2563eb;border-color:#1d4ed8}.pivot-table-container.theme-professional .dimension-name{color:#fff}.pivot-table-container.theme-professional .dimension-action-btn{color:#ffffffb3}.pivot-table-container.theme-professional .dimension-action-btn:hover{background:#fff3;color:#fff}.pivot-table-container.theme-professional .dimension-drag-handle{color:#ffffff80}.pivot-cell[style*=background]{transition:background-color .2s ease}.pivot-cell:not(.header):not(.row-header):not(.col-header){text-align:right}.fm-pivot-container{display:flex;flex-direction:column;background:#fff;border-radius:6px;overflow:hidden;border:1px solid #e5e7eb}.fm-header-area{background:#f3f4f6;border-bottom:1px solid #e5e7eb;padding:2px 4px}.fm-filter-dimension-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:0;padding:4px 8px;background:#f3f4f6;border-bottom:1px solid #e5e7eb}.fm-filter-dimension-row:empty,.fm-filter-dimension-row:has(.fm-drop-hint:only-child){min-height:0;padding:4px 8px}.fm-filter-dimension-row .fm-drop-hint{color:#6b7280}.fm-col-dimension-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:0;padding:4px 8px;background:#f3f4f6;border-bottom:1px solid #e5e7eb}.fm-grid{display:flex;overflow:auto;gap:0}.fm-row-headers{flex-shrink:0;background:#f9fafb;border-right:1px solid #e5e7eb}.fm-row-dimension-area{display:flex;flex-wrap:wrap;gap:6px;padding:6px 8px;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;min-height:0;min-width:150px;background:#f3f4f6;box-sizing:border-box}.fm-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}.fm-row{transition:background-color .1s ease}.fm-row.header{background:#f3f4f6}.fm-row.header .fm-cell{border-top:1px solid #e5e7eb}.fm-row.data:nth-child(2n) .fm-cell:not(.row-header):not(.grand-total):not(.subtotal){background:#f9fafb}.fm-row.data:hover .fm-cell:not(.row-header):not(.grand-total):not(.subtotal){background:#f3f4f6}.fm-row.grand-total{background:#f3f4f6!important}.fm-row.grand-total .fm-cell{color:#1f2937!important;font-weight:700!important;background:#f3f4f6!important;border-top:2px solid #d1d5db}.fm-cell{padding:8px 12px;border:none;border-bottom:1px solid #e5e7eb;border-right:1px solid #e5e7eb;text-align:left;vertical-align:middle;white-space:nowrap;min-width:150px;transition:background-color .15s ease;background:#fff;color:#374151;font-size:12px}.fm-cell.header{background:#f3f4f6;font-weight:600;color:#374151;text-align:center;white-space:nowrap}.fm-cell.row-header{background:#fff;color:#374151;font-weight:500;text-align:left;white-space:nowrap;min-width:150px;width:150px;overflow:visible;position:relative}.fm-cell.row-header:first-child{border-left:1px solid #e5e7eb}.fm-cell.col-header{background:#f3f4f6;color:#374151;text-align:center;white-space:nowrap}.fm-cell.grand-total{background:#f3f4f6!important;color:#1f2937!important;font-weight:700;border-top:2px solid #d1d5db}.fm-cell.subtotal{background:#f3f4f6;font-weight:500;color:#374151}.fm-cell.expandable{cursor:pointer}.fm-cell.expandable:hover{background:#f3f4f6}.fm-cell-content{display:flex;align-items:center;gap:6px}.fm-cell-value{flex:1;overflow:hidden;text-overflow:ellipsis}.fm-cell:not(.header):not(.row-header):not(.col-header):not(.grand-total):not(.subtotal){cursor:pointer;text-align:right;position:relative}.fm-cell:not(.header):not(.row-header):not(.col-header):not(.grand-total):not(.subtotal) .fm-cell-value{color:#2563eb;text-decoration:underline;text-decoration-color:#93c5fd;text-underline-offset:2px;transition:all .15s ease}.fm-cell:not(.header):not(.row-header):not(.col-header):not(.grand-total):not(.subtotal):hover{background:#eff6ff}.fm-cell:not(.header):not(.row-header):not(.col-header):not(.grand-total):not(.subtotal):hover .fm-cell-value{color:#1d4ed8;text-decoration-color:#3b82f6}.fm-cell.drill-active{background:#dbeafe!important}.fm-cell.drill-active .fm-cell-value{color:#1e40af;font-weight:600}.fm-tree-node{display:inline-flex;align-items:center;position:relative;height:36px;margin-right:4px}.fm-tree-connector,.fm-tree-dot{display:none}.fm-expand-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;min-height:22px;border:2px solid transparent;background:#f1f5f9;color:#64748b;cursor:pointer;border-radius:5px;transition:all .2s ease;flex-shrink:0;padding:0;line-height:1;box-shadow:0 1px 2px #0000000d}.fm-expand-btn svg{display:block;width:16px;height:16px;stroke:currentColor;stroke-width:2.5;flex-shrink:0;transition:transform .2s ease}.fm-expand-btn.collapsed{background:#f1f5f9;border-color:#cbd5e1;color:#64748b}.fm-expand-btn.collapsed svg{stroke:#64748b}.fm-expand-btn.collapsed:hover{background:#e0f2fe;border-color:#3b82f6;color:#2563eb;box-shadow:0 2px 4px #3b82f633}.fm-expand-btn.collapsed:hover svg{stroke:#2563eb}.fm-expand-btn.expanded{background:#dbeafe;border-color:#3b82f6;color:#1d4ed8;box-shadow:0 2px 4px #3b82f626}.fm-expand-btn.expanded svg{stroke:#1d4ed8}.fm-expand-btn.expanded:hover{background:#bfdbfe;border-color:#2563eb;color:#1e40af}.fm-expand-btn.expanded:hover svg{stroke:#1e40af}.fm-expand-btn:active{transform:scale(.92)}.fm-expand-placeholder{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;min-width:22px;flex-shrink:0;margin-right:4px}.fm-cell-content.nested-level-1{padding-left:8px}.fm-cell-content.nested-level-2{padding-left:24px}.fm-cell-content.nested-level-3{padding-left:40px}.fm-cell-content.nested-level-4{padding-left:56px}.fm-cell-content.nested-level-5{padding-left:72px}.fm-flag{font-size:14px;flex-shrink:0}.fm-col-header-content{display:flex;flex-direction:column;align-items:center;gap:4px}.fm-col-value{font-weight:600;color:#374151}.fm-drill-link{display:inline-flex;align-items:center;gap:3px;padding:3px 8px;border:1.5px solid #3b82f6;background:#eff6ff;color:#1d4ed8;font-size:10px;font-weight:600;cursor:pointer;border-radius:4px;transition:all .15s ease;text-decoration:none;box-shadow:0 1px 2px #3b82f626}.fm-drill-link:hover{background:#dbeafe;border-color:#2563eb;transform:scale(1.05);box-shadow:0 2px 4px #3b82f640}.fm-drill-link:active{transform:scale(.95)}.fm-drill-link.down{color:#1d4ed8;background:#eff6ff;border-color:#3b82f6}.fm-drill-link.up{color:#b91c1c;background:#fef2f2;border-color:#ef4444}.fm-drill-link.up:hover{background:#fee2e2;border-color:#dc2626;box-shadow:0 2px 4px #ef444440}.fm-pivot-container.theme-light{--fm-header-bg: #f3f4f6;--fm-row-header-bg: #f9fafb;--fm-row-header-text: #374151;--fm-col-header-bg: #f3f4f6;--fm-col-header-text: #374151;--fm-border-color: #e5e7eb;--fm-accent: #3b82f6;--fm-data-bg: white;--fm-data-text: #374151}.fm-pivot-container.theme-dark{--fm-header-bg: #1f2937;--fm-row-header-bg: #374151;--fm-row-header-text: #f9fafb;--fm-col-header-bg: #374151;--fm-col-header-text: #f9fafb;--fm-border-color: #4b5563;--fm-accent: #6b7280;background:#111827}.fm-pivot-container.theme-dark .fm-header-area{background:#1f2937;border-color:#374151}.fm-pivot-container.theme-dark .fm-filter-dimension-row{background:#374151;border-color:#4b5563}.fm-pivot-container.theme-dark .fm-filter-dimension-row .fm-drop-hint{color:#9ca3af}.fm-pivot-container.theme-dark .fm-dimension-chip{background:#374151;border-color:#4b5563;color:#f3f4f6}.fm-pivot-container.theme-dark .fm-dimension-chip:hover{border-color:#6b7280}.fm-pivot-container.theme-dark .fm-dimension-name{color:#f3f4f6}.fm-pivot-container.theme-dark .fm-dimension-grip{color:#9ca3af}.fm-pivot-container.theme-dark .fm-dimension-btn{color:#9ca3af;border-color:#4b5563;background:#374151}.fm-pivot-container.theme-dark .fm-dimension-btn:hover{background:#4b5563;color:#f3f4f6}.fm-pivot-container.theme-dark .fm-row-headers{background:#1f2937;border-color:#374151}.fm-pivot-container.theme-dark .fm-cell{border-color:#374151;color:#f3f4f6}.fm-pivot-container.theme-dark .fm-cell.header,.fm-pivot-container.theme-dark .fm-cell.row-header,.fm-pivot-container.theme-dark .fm-cell.col-header{background:#374151;color:#f9fafb}.fm-pivot-container.theme-dark .fm-row.data:hover{background:#6b72801a}.fm-pivot-container.theme-dark .fm-tree-line:after,.fm-pivot-container.theme-dark .fm-tree-line:before{background:#4b5563}.fm-pivot-container.theme-dark .fm-tree-dot{background:#6b7280}.fm-pivot-container.theme-professional .fm-tree-line:after,.fm-pivot-container.theme-professional .fm-tree-line:before{background:#94a3b8}.fm-pivot-container.theme-professional .fm-tree-dot{background:#64748b}.fm-pivot-container.theme-dark .fm-cell:not(.header):not(.row-header):not(.col-header):not(.grand-total) .fm-cell-value{border-bottom-color:#4b5563}.fm-pivot-container.theme-dark .fm-cell:not(.header):not(.row-header):not(.col-header):not(.grand-total):hover .fm-cell-value{border-bottom-color:#60a5fa;color:#93c5fd}.fm-pivot-container.theme-dark .fm-cell:not(.header):not(.row-header):not(.col-header):not(.grand-total) .fm-cell-value:after{border-top-color:#4b5563}.fm-pivot-container.theme-dark .fm-cell:not(.header):not(.row-header):not(.col-header):not(.grand-total):hover .fm-cell-value:after{border-top-color:#60a5fa}.fm-pivot-container.theme-dark .fm-expand-btn{background:#374151;border-color:#4b5563;color:#9ca3af}.fm-pivot-container.theme-dark .fm-expand-btn svg{stroke:#9ca3af}.fm-pivot-container.theme-dark .fm-expand-btn.collapsed{background:#374151;border-color:#4b5563;color:#9ca3af}.fm-pivot-container.theme-dark .fm-expand-btn.collapsed svg{stroke:#9ca3af}.fm-pivot-container.theme-dark .fm-expand-btn.collapsed:hover{background:#1e3a5f;border-color:#60a5fa;color:#93c5fd}.fm-pivot-container.theme-dark .fm-expand-btn.collapsed:hover svg{stroke:#93c5fd}.fm-pivot-container.theme-dark .fm-expand-btn.expanded{background:#1e3a5f;border-color:#60a5fa;color:#93c5fd;box-shadow:0 2px 4px #60a5fa33}.fm-pivot-container.theme-dark .fm-expand-btn.expanded svg{stroke:#93c5fd}.fm-pivot-container.theme-dark .fm-expand-btn.expanded:hover{background:#1e40af;border-color:#93c5fd;color:#bfdbfe}.fm-pivot-container.theme-dark .fm-expand-btn.expanded:hover svg{stroke:#bfdbfe}.fm-pivot-container.theme-dark .fm-drill-down-cell{background:#1f2937!important;border-color:#374151!important}.fm-pivot-container.theme-dark .fm-drill-down-header-content{background:#374151;border-color:#4b5563}.fm-pivot-container.theme-dark .fm-drill-down-title{color:#f3f4f6}.fm-pivot-container.theme-dark .fm-drill-down-close{background:#4b5563;border-color:#6b7280;color:#f3f4f6}.fm-pivot-container.theme-dark .fm-drill-down-table-wrapper{background:#111827}.fm-pivot-container.theme-dark .fm-drill-down-table th,.fm-pivot-container.theme-dark .fm-drill-down-table td{border-color:#374151;color:#f3f4f6}.fm-pivot-container.theme-dark .fm-drill-down-table th{background:#374151}.fm-pivot-container.theme-dark .fm-drill-down-table tbody tr:nth-child(2n){background:#1f2937}.fm-pivot-container.theme-dark .fm-drill-down-table tbody tr:hover{background:#374151}.fm-pivot-container.theme-dark .fm-drill-row-num{background:#1f2937;color:#9ca3af}.fm-pivot-container.theme-dark .fm-drill-down-more{background:#374151;color:#f3f4f6;border-color:#4b5563}.fm-pivot-container.theme-dark .fm-drill-link{background:#374151;border-color:#6b7280;color:#93c5fd;box-shadow:0 1px 2px #0003}.fm-pivot-container.theme-dark .fm-drill-link:hover{background:#4338ca;border-color:#818cf8;color:#fff}.fm-pivot-container.theme-dark .fm-drill-link.down{background:#1e3a5f;border-color:#3b82f6;color:#93c5fd}.fm-pivot-container.theme-dark .fm-drill-link.up{background:#7f1d1d;border-color:#ef4444;color:#fca5a5}.fm-pivot-container.theme-dark .fm-drill-link.up:hover{background:#991b1b;border-color:#f87171}.fm-pivot-container.theme-dark .fm-row.grand-total{background:#1f2937!important}.fm-pivot-container.theme-professional{--fm-header-bg: #f3f4f6;--fm-row-header-bg: #f9fafb;--fm-row-header-text: #374151;--fm-col-header-bg: #f3f4f6;--fm-col-header-text: #374151;--fm-border-color: #d1d5db;--fm-accent: #6b7280}.fm-pivot-container.theme-professional .fm-header-area{background:#f9fafb;border-color:#e5e7eb}.fm-pivot-container.theme-professional .fm-filter-dimension-row{background:#f3f4f6;border-color:#d1d5db}.fm-pivot-container.theme-professional .fm-filter-dimension-row .fm-drop-hint{color:#6b7280}.fm-pivot-container.theme-professional .fm-dimension-chip{background:#f3f4f6;border-color:#d1d5db;color:#374151}.fm-pivot-container.theme-professional .fm-dimension-chip:hover{background:#e5e7eb}.fm-pivot-container.theme-professional .fm-dimension-btn{color:#6b7280}.fm-pivot-container.theme-professional .fm-dimension-btn:hover{background:#e5e7eb;color:#374151}.fm-pivot-container.theme-professional .fm-cell.header{background:#f3f4f6;color:#374151}.fm-pivot-container.theme-professional .fm-cell.row-header{background:#f9fafb;color:#374151}.fm-pivot-container.theme-professional .fm-cell.col-header{background:#f3f4f6;color:#374151}.fm-pivot-container.theme-professional .fm-row.grand-total{background:#374151!important}.fm-pivot-container.theme-professional .fm-expand-btn{color:#6b7280}.fm-pivot-container.theme-professional .fm-expand-btn svg{stroke:#6b7280}.fm-pivot-container.theme-professional .fm-expand-btn.collapsed svg{stroke:#6b7280}.fm-pivot-container.theme-professional .fm-expand-btn.expanded{color:#2563eb}.fm-pivot-container.theme-professional .fm-expand-btn.expanded svg{stroke:#2563eb}.fm-pivot-container.theme-professional .fm-expand-btn:hover{background:#2563eb1a;color:#2563eb}.fm-pivot-container.theme-professional .fm-expand-btn:hover svg{stroke:#2563eb}.fm-cell[data-cf=very-low]{background:#991b1b!important;color:#fff!important}.fm-cell[data-cf=low]{background:#ea580c!important;color:#fff!important}.fm-cell[data-cf=mid]{background:#fff!important;color:#374151!important}.fm-cell[data-cf=high]{background:#e5e7eb!important;color:#374151!important}.fm-cell[data-cf=very-high]{background:#374151!important;color:#fff!important}.fm-data-bar{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#3b82f6,#8b5cf6);border-radius:0 2px 2px 0;transition:width .3s ease}@media(max-width:768px){.fm-dimension-chip{padding:4px 8px;font-size:10px}.fm-cell{padding:8px 10px;font-size:12px}.fm-drill-link{font-size:9px;padding:1px 4px}}.fm-pivot-container.compact .fm-cell{padding:6px 10px;font-size:11px}.fm-pivot-container.compact .fm-dimension-chip{padding:3px 6px;font-size:10px}.fm-pivot-container.compact .fm-dimension-btn{width:16px;height:16px}.fm-pivot-container.compact .fm-dimension-grip{width:14px}.fm-pivot-container.compact .fm-row-dimension-area{padding:4px;gap:4px}.fm-pivot-container.compact .fm-col-dimension-row{gap:4px}.fm-pivot-container.compact .fm-droppable-area{padding:4px 8px}.pivot-view-container.compact .pivot-view-header{padding:8px 12px}.pivot-view-container.compact .pivot-view-footer{padding:4px 12px;font-size:11px}.pivot-view-container.fullscreen{position:fixed;inset:0;z-index:9999;border-radius:0;max-height:100vh;max-width:100vw}.pivot-view-container.fullscreen .pivot-view-content{flex:1;overflow:auto}.pivot-view-container.fullscreen .fm-pivot-container{height:100%}.pivot-view-container.fullscreen .fm-grid{flex:1;overflow:auto}.fm-droppable-area{padding:2px 4px;min-height:0;border:1px dashed transparent;border-radius:4px;transition:all .2s ease}.fm-droppable-area.active{border-color:#8b5cf6;background:#8b5cf614}.fm-droppable-label{font-size:10px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin-bottom:0;display:block}.fm-drop-hint{font-size:11px;color:#6b7280;font-style:italic;padding:4px 8px}.fm-dimension-chip{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:13px;font-weight:600;color:#1f2937;cursor:default;transition:all .25s cubic-bezier(.4,0,.2,1);-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:0 1px 2px #0000000a,0 1px 3px #0000000f}.fm-dimension-chip:hover{border-color:#d1d5db;background:#fafafa;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;transform:translateY(-1px)}.fm-dimension-chip.dragging{opacity:.9;box-shadow:0 12px 28px #00000026,0 4px 8px #0000001a;transform:scale(1.02) rotate(1deg);border-color:#3b82f6}.fm-dimension-grip{display:flex;align-items:center;justify-content:center;color:#9ca3af;cursor:grab;padding:4px;margin:-4px 0 -4px -4px;border-radius:6px;transition:all .2s ease}.fm-dimension-grip svg{width:16px;height:16px;stroke:currentColor;stroke-width:2}.fm-dimension-grip:hover{background:#f3f4f6;color:#6b7280}.fm-dimension-grip:active{cursor:grabbing;background:#e5e7eb;color:#374151}.fm-dimension-name{font-weight:600;font-size:13px;letter-spacing:.01em;color:#1f2937;padding:0 2px;flex:1}.fm-dimension-actions{display:flex;align-items:center;gap:4px;margin-left:4px}.fm-dimension-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:#f3f4f6;color:#6b7280;cursor:pointer;border-radius:8px;transition:all .2s cubic-bezier(.4,0,.2,1)}.fm-dimension-btn svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;display:block}.fm-dimension-btn:hover{background:#e5e7eb;color:#374151;transform:scale(1.08)}.fm-dimension-btn:hover svg{stroke:#374151}.fm-dimension-btn:active{transform:scale(.95);background:#d1d5db}.fm-dimension-btn.filter-btn:hover{background:#dbeafe;color:#2563eb}.fm-dimension-btn.filter-btn:hover svg{stroke:#2563eb}.fm-dimension-btn.settings-btn:hover{background:#f3f4f6;color:#374151}.fm-dimension-btn.settings-btn:hover svg{stroke:#374151}.fm-pivot-container{display:flex;flex-direction:column;background:#fff;border-radius:6px;overflow:hidden;max-width:100%}.fm-grid{display:flex;flex:1;overflow:auto;min-height:0;gap:0}.fm-row-headers{flex-shrink:0;background:#f9fafb;border-right:1px solid #e5e7eb;position:sticky;left:0;z-index:10;min-width:150px}.fm-table{width:auto;min-width:100%;border-collapse:collapse;font-size:12px}.fm-cell.row-header{overflow:visible;position:relative;padding-top:0;padding-bottom:0;z-index:1}.fm-cell.row-header .fm-cell-content{overflow:visible;position:relative;height:36px;display:flex;align-items:center}.fm-row{position:relative;overflow:visible}.fm-table tbody{overflow:visible}.fm-tree-node{z-index:1;position:relative}.fm-tree-line:before{z-index:0}.fm-table tbody{position:relative}.pivot-view-content{flex:1;overflow:auto;padding:12px;background:#f9fafb;min-height:0}.pivot-view-main{display:flex;flex:1;overflow:hidden;min-height:0}.fm-col-dimension-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;min-height:0;padding:6px 8px}.fm-row-dimension-area{display:flex;flex-direction:column;gap:6px;padding:6px 8px;min-width:150px;width:100%;border-right:1px solid #e5e7eb;box-sizing:border-box}.fm-row.drill-expanded{background:#f9fafb}.fm-cell.drill-active{background:#f3f4f6!important;box-shadow:inset 0 0 0 2px #374151}.fm-drill-indicator{margin-left:4px;color:#374151;vertical-align:middle}.fm-drill-down-header{background:#f3f4f6}.fm-drill-down-cell{padding:0!important;background:#f9fafb!important;border:1px solid #e5e7eb!important}.fm-drill-down-header-content{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#f3f4f6;border-bottom:1px solid #e5e7eb}.fm-drill-down-title{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#374151}.fm-drill-down-close{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #d1d5db;background:#fff;border-radius:4px;color:#374151;cursor:pointer;transition:all .15s ease}.fm-drill-down-close:hover{background:#fee2e2;color:#dc2626;border-color:#fca5a5}.fm-drill-down-table-wrapper{max-height:250px;overflow:auto;background:#fff;margin:0;border-radius:0;border:none}.fm-drill-down-table{width:100%;border-collapse:collapse;font-size:12px}.fm-drill-down-table th,.fm-drill-down-table td{padding:6px 10px;text-align:left;border:1px solid #e5e7eb;white-space:nowrap}.fm-drill-down-table th{background:#f3f4f6;font-weight:600;color:#374151;position:sticky;top:0;z-index:1}.fm-drill-down-table tbody tr:nth-child(2n){background:#f9fafb}.fm-drill-down-table tbody tr:hover{background:#f3f4f6}.fm-drill-row-num{color:#6b7280;font-size:11px;text-align:center;width:40px;background:#f9fafb}.fm-drill-down-more{padding:8px 12px;text-align:center;color:#374151;font-size:12px;background:#f3f4f6;border-top:1px solid #e5e7eb;font-weight:500}.pivot-field-settings-menu{position:fixed;z-index:10000;min-width:200px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 40px #00000026;overflow:hidden;animation:pivotMenuFadeIn .15s ease}@keyframes pivotMenuFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.pivot-settings-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.pivot-settings-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.pivot-settings-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:#fff3;color:#fff;border-radius:4px;cursor:pointer;transition:background .15s ease}.pivot-settings-close:hover{background:#ffffff4d}.pivot-settings-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border:none;background:transparent;color:#374151;font-size:13px;text-align:left;cursor:pointer;transition:background .15s ease;position:relative}.pivot-settings-item:hover{background:#f3f4f6}.pivot-settings-item.active{background:#ede9fe;color:#7c3aed}.pivot-settings-item.danger{color:#dc2626}.pivot-settings-item.danger:hover{background:#fef2f2}.pivot-settings-item.has-submenu{padding-right:28px}.pivot-settings-item .submenu-arrow{position:absolute;right:10px;color:#9ca3af}.pivot-settings-item .checkmark{margin-left:auto;color:#8b5cf6;font-weight:600}.pivot-settings-divider{height:1px;background:#e5e7eb;margin:4px 0}.pivot-settings-submenu{position:absolute;left:100%;top:0;min-width:160px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 40px #00000026;overflow:hidden;z-index:10001;animation:pivotMenuFadeIn .1s ease}.pivot-settings-submenu .pivot-settings-item{padding:8px 12px;font-size:12px}.pivot-field-filter-menu{position:fixed;z-index:10000;width:280px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 40px #00000026;overflow:hidden;display:flex;flex-direction:column;max-height:450px;animation:pivotMenuFadeIn .15s ease}.pivot-filter-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.pivot-filter-title{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pivot-filter-close{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:#fff3;color:#fff;border-radius:4px;cursor:pointer;transition:background .15s ease}.pivot-filter-close:hover{background:#ffffff4d}.pivot-filter-search{position:relative;padding:8px 10px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.pivot-filter-search-icon{position:absolute;left:18px;top:50%;transform:translateY(-50%);color:#9ca3af}.pivot-filter-search-input{width:100%;padding:8px 32px;border:1px solid #d1d5db;border-radius:6px;font-size:13px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease}.pivot-filter-search-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px #8b5cf61a}.pivot-filter-search-input::-moz-placeholder{color:#9ca3af}.pivot-filter-search-input::placeholder{color:#9ca3af}.pivot-filter-search-clear{position:absolute;right:18px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:#e5e7eb;color:#6b7280;border-radius:50%;cursor:pointer;transition:background .15s ease}.pivot-filter-search-clear:hover{background:#d1d5db}.pivot-filter-select-all{padding:4px 8px;background:#f9fafb;border-bottom:1px solid #e5e7eb}.pivot-filter-values-list{flex:1;overflow-y:auto;padding:4px 0;max-height:250px}.pivot-filter-empty{padding:24px;text-align:center;color:#9ca3af;font-size:13px}.pivot-filter-checkbox-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:#374151;font-size:13px;text-align:left;cursor:pointer;transition:background .1s ease}.pivot-filter-checkbox-item:hover{background:#f3f4f6}.pivot-filter-checkbox-item svg{flex-shrink:0;color:#9ca3af}.pivot-filter-checkbox-item svg.checked{color:#8b5cf6}.pivot-filter-checkbox-item svg.partial{color:#d1d5db}.pivot-filter-value-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pivot-filter-check{color:#8b5cf6;margin-left:auto}.pivot-filter-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f9fafb;border-top:1px solid #e5e7eb}.pivot-filter-count{font-size:11px;color:#6b7280}.pivot-filter-actions{display:flex;gap:8px}.pivot-filter-btn{padding:6px 14px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .15s ease}.pivot-filter-btn.primary{background:#8b5cf6;color:#fff;border:none}.pivot-filter-btn.primary:hover:not(:disabled){background:#7c3aed}.pivot-filter-btn.primary:disabled{background:#d1d5db;cursor:not-allowed}.pivot-filter-btn.secondary{background:#fff;color:#374151;border:1px solid #d1d5db}.pivot-filter-btn.secondary:hover{background:#f3f4f6}.embedded-pivot-container{display:flex;flex-direction:column;height:100%;width:100%;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #00000026;border:1px solid #e5e7eb}.embedded-pivot-container.embedded-pivot-empty{align-items:center;justify-content:center;color:#6b7280;font-size:13px}.embedded-pivot-header{display:flex;align-items:center;padding:6px 10px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;gap:8px;min-height:36px;flex-shrink:0}.embedded-pivot-drag-handle{display:flex;align-items:center;justify-content:center;cursor:grab;padding:2px;border-radius:3px;color:#ffffffb3}.embedded-pivot-drag-handle:hover{background:#fff3;color:#fff}.embedded-pivot-drag-handle:active{cursor:grabbing}.embedded-pivot-title{font-weight:600;font-size:13px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.embedded-pivot-actions{display:flex;align-items:center;gap:2px}.embedded-pivot-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:#ffffff1a;color:#ffffffd9;border-radius:4px;cursor:pointer;transition:all .15s ease}.embedded-pivot-btn:hover{background:#ffffff40;color:#fff}.embedded-pivot-btn.active{background:#ffffff4d;color:#fff}.embedded-pivot-btn.danger:hover{background:#ef4444cc;color:#fff}.embedded-pivot-btn:disabled{opacity:.4;cursor:not-allowed}.embedded-pivot-divider{width:1px;height:18px;background:#ffffff4d;margin:0 4px}.embedded-pivot-content{flex:1;overflow:auto;background:#f9fafb;min-height:0}.embedded-pivot-content .pivot-table-container{min-width:-moz-fit-content;min-width:fit-content}.embedded-pivot-content::-webkit-scrollbar{width:8px;height:8px}.embedded-pivot-content::-webkit-scrollbar-track{background:#e5e7eb;border-radius:4px}.embedded-pivot-content::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:4px}.embedded-pivot-content::-webkit-scrollbar-thumb:hover{background:#6b7280}.embedded-pivot-container.theme-dark{background:#1f2937;border-color:#374151}.embedded-pivot-container.theme-dark .embedded-pivot-header{background:linear-gradient(135deg,#374151,#1f2937)}.embedded-pivot-container.theme-dark .embedded-pivot-content{background:#111827}.embedded-pivot-container.theme-professional .embedded-pivot-header{background:linear-gradient(135deg,#1e40af,#1e3a8a)}.cpd-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.cpd-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;width:420px;max-width:95vw;overflow:hidden;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;color:#1a1a1a}.cpd-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f3f3f3;border-bottom:1px solid #e0e0e0}.cpd-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:400;color:#1a1a1a}.cpd-title svg{color:#8b5cf6}.cpd-header-actions{display:flex;align-items:center;gap:4px}.cpd-help-btn{width:20px;height:20px;border:1px solid #a0a0a0;border-radius:50%;background:transparent;color:#666;font-size:12px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center}.cpd-help-btn:hover{background:#e8e8e8}.cpd-close-btn{width:24px;height:24px;border:none;background:transparent;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px}.cpd-close-btn:hover{background:#e8e8e8}.cpd-content{padding:16px 20px}.cpd-section{margin-bottom:20px}.cpd-section:last-child{margin-bottom:0}.cpd-section-title{font-size:12px;font-weight:400;color:#1a1a1a;margin-bottom:10px}.cpd-field{margin-bottom:12px}.cpd-field:last-child{margin-bottom:0}.cpd-label{display:block;font-size:12px;color:#1a1a1a;margin-bottom:4px}.cpd-input-group{display:flex;gap:4px}.cpd-input{flex:1;height:24px;padding:0 8px;border:1px solid #8c8c8c;border-radius:0;font-size:12px;font-family:inherit;background:#fff;color:#1a1a1a}.cpd-input:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 1px #8b5cf6}.cpd-range-input{font-family:Consolas,Monaco,monospace}.cpd-range-btn{width:24px;height:24px;border:1px solid #8c8c8c;background:#f5f5f5;color:#1a1a1a;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}.cpd-range-btn:hover{background:#e8e8e8}.cpd-sheet-selector{margin-top:8px}.cpd-dropdown-container{position:relative}.cpd-dropdown-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;height:24px;padding:0 8px;border:1px solid #8c8c8c;background:#fff;font-size:12px;font-family:inherit;color:#1a1a1a;cursor:pointer;min-width:140px}.cpd-dropdown-btn-small{min-width:100px;font-size:11px}.cpd-dropdown-btn:hover{background:#f5f5f5}.cpd-dropdown-overlay{position:fixed;inset:0;z-index:1}.cpd-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #8c8c8c;box-shadow:0 4px 12px #00000026;z-index:2;max-height:200px;overflow-y:auto}.cpd-dropdown-item{padding:6px 10px;font-size:12px;cursor:pointer}.cpd-dropdown-item:hover{background:#f3e8ff}.cpd-dropdown-item.active{background:#8b5cf6;color:#fff}.cpd-radio-group{display:flex;flex-direction:column;gap:8px}.cpd-radio{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cpd-radio input{position:absolute;opacity:0;width:0;height:0}.cpd-radio-indicator{width:14px;height:14px;border:1px solid #666;border-radius:50%;background:#fff;position:relative;flex-shrink:0}.cpd-radio input:checked+.cpd-radio-indicator{border-color:#8b5cf6}.cpd-radio input:checked+.cpd-radio-indicator:after{content:"";position:absolute;top:3px;left:3px;width:6px;height:6px;border-radius:50%;background:#8b5cf6}.cpd-radio input:focus+.cpd-radio-indicator{box-shadow:0 0 0 2px #8b5cf64d}.cpd-radio-label{font-size:12px;color:#1a1a1a}.cpd-location-field{margin-top:10px;margin-left:22px}.cpd-location-inputs{display:flex;align-items:center;flex:1}.cpd-sheet-dropdown{flex-shrink:0}.cpd-location-separator{padding:0 2px;color:#666;font-size:12px}.cpd-cell-input{width:60px;flex-shrink:0;text-align:center;font-family:Consolas,Monaco,monospace}.cpd-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.cpd-checkbox input{position:absolute;opacity:0;width:0;height:0}.cpd-checkbox-indicator{width:14px;height:14px;border:1px solid #666;background:#fff;position:relative;flex-shrink:0}.cpd-checkbox input:checked+.cpd-checkbox-indicator{background:#8b5cf6;border-color:#8b5cf6}.cpd-checkbox input:checked+.cpd-checkbox-indicator:after{content:"";position:absolute;top:1px;left:4px;width:4px;height:8px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg)}.cpd-checkbox input:focus+.cpd-checkbox-indicator{box-shadow:0 0 0 2px #8b5cf64d}.cpd-checkbox-label{font-size:12px;color:#1a1a1a}.cpd-section-data-model{padding-top:12px;border-top:1px solid #e0e0e0}.cpd-footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;background:#f3f3f3;border-top:1px solid #e0e0e0}.cpd-btn{height:26px;padding:0 20px;border:1px solid transparent;font-size:12px;font-family:inherit;cursor:pointer;min-width:75px}.cpd-btn:disabled{opacity:.5;cursor:not-allowed}.cpd-btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-color:transparent;border-radius:8px}.cpd-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#7c3aed,#6d28d9)}.cpd-btn-primary:active:not(:disabled){background:linear-gradient(135deg,#6d28d9,#5b21b6)}.cpd-btn-secondary{background:#636366;color:#fff;border-color:transparent;border-radius:8px}.cpd-btn-secondary:hover:not(:disabled){background:#545458}.cpd-btn-secondary:active:not(:disabled){background:#48484a}.cpd-collapsed-overlay{position:fixed;inset:0;z-index:9999;pointer-events:none}.cpd-collapsed-dialog{position:fixed;bottom:20px;left:50%;transform:translate(-50%);background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;color:#1a1a1a;pointer-events:auto;min-width:320px;overflow:hidden;animation:cpd-slide-up .2s ease-out}@keyframes cpd-slide-up{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.cpd-collapsed-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;font-size:12px;font-weight:500}.cpd-collapsed-header svg{opacity:.9}.cpd-collapsed-content{display:flex;align-items:center;gap:8px;padding:12px;background:#f9f9f9}.cpd-collapsed-input{flex:1;height:28px;padding:0 10px;border:1px solid #8b5cf6;border-radius:8px;font-size:12px;font-family:Consolas,Monaco,monospace;background:#fff;color:#1a1a1a;box-shadow:0 0 0 2px #8b5cf633}.cpd-collapsed-input:focus{outline:none}.cpd-collapsed-confirm{width:32px;height:28px;border:none;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s ease;flex-shrink:0}.cpd-collapsed-confirm:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.cpd-collapsed-confirm:active{background:linear-gradient(135deg,#6d28d9,#5b21b6)}.cpd-collapsed-hint{padding:8px 12px;background:#fff;font-size:11px;color:#666;text-align:center;border-top:1px solid #e0e0e0}.cpd-range-btn.active{background:#8b5cf6;color:#fff;border-color:#8b5cf6}.cpd-source-type-group{margin-bottom:12px}.cpd-source-type-group .cpd-radio-label{display:flex;align-items:center;gap:6px}.cpd-source-type-group .cpd-radio-label svg{color:#666}.cpd-linked-table-btn{display:flex;align-items:center;gap:8px;width:100%}.cpd-linked-table-btn svg:first-child{color:#8a2be2}.cpd-dropdown-item .cpd-linked-table-info{display:flex;flex-direction:column;gap:2px;margin-left:4px}.cpd-linked-table-name{font-weight:500;color:#1a1a1a}.cpd-linked-table-meta{font-size:10px;color:#666}.cpd-dropdown-item.cpd-no-tables{color:#999;font-style:italic;cursor:default}.cpd-dropdown-item.cpd-no-tables:hover{background:transparent}.cpd-linked-table-details{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;margin-top:8px;padding:8px;background:#f5f5f5;border-radius:4px;font-size:11px}.cpd-detail-label{color:#666;font-weight:500}.cpd-detail-value{color:#1a1a1a;font-family:Consolas,Monaco,monospace}.dsb-dialog-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.dsb-dialog{background:#fff;border-radius:12px;width:900px;max-width:95vw;height:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden}.dsb-dialog-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5;background:#fafafa}.dsb-dialog-header h3{display:flex;align-items:center;gap:10px;margin:0;font-size:16px;font-weight:600;color:#1a1a1a}.dsb-close-btn{background:none;border:none;padding:6px;cursor:pointer;border-radius:6px;color:#666;transition:all .15s ease}.dsb-close-btn:hover{background:#e5e5e5;color:#1a1a1a}.dsb-dialog-content{display:flex;flex:1;overflow:hidden}.dsb-sources-panel{width:280px;min-width:280px;border-right:1px solid #e5e5e5;display:flex;flex-direction:column;background:#fafafa}.dsb-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e5e5e5}.dsb-search-box{display:flex;align-items:center;padding:8px 12px;border-bottom:1px solid #e5e5e5;background:#fff;gap:8px}.dsb-search-icon{color:#999;flex-shrink:0}.dsb-search-input{flex:1;border:none;outline:none;font-size:13px;color:#333;background:transparent}.dsb-search-input::-moz-placeholder{color:#999}.dsb-search-input::placeholder{color:#999}.dsb-search-clear{background:none;border:none;padding:2px;cursor:pointer;color:#999;border-radius:4px;display:flex;align-items:center;justify-content:center}.dsb-search-clear:hover{background:#e5e5e5;color:#666}.dsb-sources-list{flex:1;overflow-y:auto;padding:8px}.dsb-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 16px;text-align:center;color:#999}.dsb-empty-state p{margin:12px 0 16px;font-size:13px}.dsb-source-item{margin-bottom:4px}.dsb-source-header{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:8px;cursor:pointer;transition:all .15s ease}.dsb-source-header:hover{background:#e8e8e8}.dsb-source-header.selected{background:#8a2be21a}.dsb-expand-icon{color:#999;display:flex;align-items:center}.dsb-source-icon{color:#666;display:flex;align-items:center}.dsb-source-name{flex:1;font-size:13px;font-weight:500;color:#1a1a1a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsb-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.dsb-status-dot.status-connected{background:#22c55e}.dsb-status-dot.status-syncing{background:#f59e0b;animation:pulse 1s infinite}.dsb-status-dot.status-error{background:#ef4444}.dsb-status-dot.status-disconnected{background:#9ca3af}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.dsb-refresh-btn,.dsb-delete-btn{opacity:0;transition:opacity .15s ease}.dsb-source-header:hover .dsb-refresh-btn,.dsb-source-header:hover .dsb-delete-btn{opacity:1}.dsb-delete-btn:hover{color:#ef4444!important;background:#ef44441a!important}.dsb-source-content{padding:4px 0 8px 28px}.dsb-source-message{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:12px;color:#666}.dsb-source-message.dsb-loading{color:#8a2be2}.dsb-source-message.dsb-not-connected{flex-wrap:wrap}.dsb-source-message .dsb-btn-link{margin-left:auto}.dsb-btn-connect{margin-left:auto;padding:6px 12px;font-size:11px;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border-radius:4px}.dsb-btn-connect:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-1px);box-shadow:0 2px 8px #22c55e4d}.dsb-tables-list{display:flex;flex-direction:column;gap:2px}.dsb-table-item{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:6px;cursor:pointer;transition:all .15s ease;font-size:13px;color:#444}.dsb-table-item:hover{background:#e8e8e8}.dsb-table-item.selected{background:#8a2be226;color:#8a2be2}.dsb-table-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsb-table-count{font-size:11px;color:#999}.dsb-details-panel{flex:1;display:flex;flex-direction:column;overflow:hidden;background:#fff}.dsb-details-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#999;padding:32px}.dsb-details-empty h4{margin:16px 0 8px;font-size:16px;font-weight:600;color:#666}.dsb-details-empty p{font-size:13px;max-width:300px}.dsb-details-header{display:flex;align-items:flex-start;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e5e5;position:relative;z-index:10;flex-shrink:0}.dsb-table-info h4{display:flex;align-items:center;gap:8px;margin:0;font-size:15px;font-weight:600;color:#1a1a1a}.dsb-table-description{margin:6px 0 0;font-size:12px;color:#666}.dsb-columns-section{padding:16px 20px;border-bottom:1px solid #e5e5e5;flex-shrink:0;position:relative;z-index:1}.dsb-columns-section h5{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.dsb-columns-list{display:flex;flex-wrap:wrap;gap:8px;max-height:180px;overflow-y:auto;padding-right:4px}.dsb-column-item{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#f5f5f5;border-radius:6px;font-size:12px}.dsb-column-name{font-weight:500;color:#1a1a1a}.dsb-column-type{color:#8a2be2;font-family:monospace;font-size:11px}.dsb-column-badges{display:flex;gap:4px}.dsb-badge{padding:2px 4px;background:#8a2be21a;color:#8a2be2;border-radius:3px;font-size:9px;font-weight:600}.dsb-preview-section{flex:1;display:flex;flex-direction:column;padding:16px 20px;overflow:hidden;position:relative;z-index:1;min-height:0}.dsb-preview-section h5{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:12px;font-weight:600;color:#666;text-transform:uppercase;letter-spacing:.5px}.dsb-preview-loading,.dsb-preview-error,.dsb-preview-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#999;font-size:13px}.dsb-preview-hint{font-size:11px;color:#bbb}.dsb-preview-error{color:#ef4444}.dsb-preview-table-wrapper{flex:1;overflow:auto;border:1px solid #e5e5e5;border-radius:8px}.dsb-preview-table{width:100%;border-collapse:collapse;font-size:12px}.dsb-preview-table th{position:sticky;top:0;background:#f5f5f5;padding:10px 12px;text-align:left;font-weight:600;color:#1a1a1a;border-bottom:1px solid #e5e5e5;white-space:nowrap}.dsb-preview-table td{padding:8px 12px;border-bottom:1px solid #f0f0f0;color:#444;max-width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dsb-preview-table tr:hover td{background:#fafafa}.dsb-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:all .15s ease}.dsb-btn-primary{background:linear-gradient(135deg,#8a2be2,#9b4dca);color:#fff;pointer-events:auto;position:relative}.dsb-btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#7b27cc,#8a3fb8);transform:translateY(-1px);box-shadow:0 4px 12px #8a2be24d}.dsb-btn-primary:disabled{opacity:.6;cursor:not-allowed}.dsb-btn-icon{background:none;border:none;padding:4px;cursor:pointer;border-radius:4px;color:#666;transition:all .15s ease;display:flex;align-items:center}.dsb-btn-icon:hover:not(:disabled){background:#e5e5e5;color:#1a1a1a}.dsb-btn-icon:disabled{opacity:.5;cursor:not-allowed}.dsb-btn-link{background:none;border:none;padding:0;color:#8a2be2;cursor:pointer;font-size:12px}.dsb-btn-link:hover{text-decoration:underline}.dsb-btn-sm{padding:4px 10px;font-size:11px;gap:4px}.dsb-btn-preview{margin-left:auto;background:#f0f0f0;border:1px solid #ddd;color:#666}.dsb-btn-preview:hover{background:#e5e5e5;color:#333;border-color:#ccc}.dsb-preview-icon-large{color:#ccc;margin-bottom:8px}.dsb-spinner{animation:spin 1s linear infinite}.dsb-row-count{font-weight:400;color:#999;margin-left:8px;text-transform:none;letter-spacing:normal}.dsb-preview-table.dsb-virtualized{table-layout:fixed}.dsb-preview-table .dsb-row-num{width:50px;min-width:50px;text-align:center;color:#999;font-size:11px;background:#f9f9f9}.dsb-preview-table th.dsb-row-num{background:#f0f0f0}.dsb-virtual-body{width:100%}.dsb-virtual-row{display:block}.dsb-virtual-row table{margin:0}.dsb-virtual-row tr:hover td{background:#8a2be20d}.dsb-load-dropdown{position:relative;display:flex;z-index:20;flex-shrink:0}.dsb-load-dropdown>.dsb-btn:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.dsb-dropdown-toggle{border-top-left-radius:0!important;border-bottom-left-radius:0!important;padding:8px!important;border-left:1px solid rgba(255,255,255,.2)!important}.dsb-dropdown-menu{position:absolute;top:100%;right:0;margin-top:4px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;border:1px solid #e5e5e5;overflow:hidden;z-index:100;min-width:180px}.dsb-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;cursor:pointer;font-size:13px;color:#333;text-align:left;transition:background .15s ease}.dsb-dropdown-item:hover{background:#8a2be21a;color:#8a2be2}.dsb-dropdown-item+.dsb-dropdown-item{border-top:1px solid #f0f0f0}.ds-dialog-overlay{position:fixed;inset:0;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;animation:dsFadeIn .2s ease-out}@keyframes dsFadeIn{0%{opacity:0}to{opacity:1}}.ds-dialog{width:600px;max-width:95vw;max-height:85vh;background:#fff;border:1px solid #e2e4ea;border-radius:12px;box-shadow:0 25px 60px #00000026;display:flex;flex-direction:column;animation:dsSlideUp .3s ease-out;overflow:hidden}.ds-dialog form{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}@keyframes dsSlideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.ds-dialog-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#f8f9fc;border-bottom:1px solid #e2e4ea;border-radius:12px 12px 0 0;flex-shrink:0}.ds-dialog-header h3{margin:0;font-size:16px;font-weight:600;color:#1a1a2e;display:flex;align-items:center;gap:10px}.ds-dialog-header h3 svg{color:#7c3aed}.ds-close-btn{width:32px;height:32px;border:none;background:#f0f1f5;color:#5a5a72;cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.ds-close-btn:hover{background:#e2e4ea;color:#1a1a2e}.ds-tabs{display:flex;background:#f8f9fc;border-bottom:1px solid #e2e4ea;padding:0 12px;flex-shrink:0}.ds-tab{display:flex;align-items:center;gap:8px;padding:12px 16px;border:none;background:transparent;color:#8e8ea0;font-size:13px;font-weight:500;cursor:pointer;border-bottom:2px solid transparent;transition:all .2s ease;position:relative}.ds-tab:hover:not(:disabled){color:#1a1a2e;background:#7c3aed0d}.ds-tab.active{color:#7c3aed;border-bottom-color:#7c3aed}.ds-tab:disabled{opacity:.5;cursor:not-allowed}.ds-badge-soon{position:absolute;top:4px;right:4px;font-size:8px;padding:2px 4px;background:#7c3aed;color:#fff;border-radius:4px;text-transform:uppercase;font-weight:600}.ds-dialog-content{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;background:#fff;min-height:0}.ds-section{margin-bottom:20px}.ds-section:last-child{margin-bottom:0}.ds-section h4{font-size:12px;font-weight:600;color:#8e8ea0;margin:0 0 12px;padding-top:8px;border-top:1px solid #e2e4ea;display:flex;align-items:center;gap:8px;text-transform:uppercase;letter-spacing:.5px}.ds-section:first-child h4{border-top:none;padding-top:0}.ds-section h4 svg{color:#7c3aed}.ds-section-common{display:flex;flex-direction:column;gap:16px}.ds-section-common .ds-field{margin-bottom:0}.ds-field{margin-bottom:14px}.ds-field:last-child{margin-bottom:0}.ds-field label{display:block;font-size:11px;font-weight:600;color:#5a5a72;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.ds-field input[type=text],.ds-field input[type=password],.ds-field input[type=number],.ds-field select,.ds-field textarea{width:100%;padding:8px 12px;border:1px solid #e2e4ea;border-radius:6px;background:#fff;color:#1a1a2e;font-size:13px;font-family:inherit;transition:all .2s ease}.ds-field input:hover,.ds-field select:hover,.ds-field textarea:hover{border-color:#d0d2da}.ds-field input:focus,.ds-field select:focus,.ds-field textarea:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1f}.ds-field input::-moz-placeholder,.ds-field textarea::-moz-placeholder{color:#8e8ea0}.ds-field input::placeholder,.ds-field textarea::placeholder{color:#8e8ea0}.ds-field select{padding-right:36px;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-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='%235a5a72' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.ds-field select option{background:#fff;color:#1a1a2e}.ds-field select option:checked{background:#7c3aed;color:#fff}.ds-field textarea{resize:vertical;min-height:80px;font-family:Monaco,Consolas,monospace;font-size:12px}.ds-field-hint{display:block;font-size:11px;color:#8e8ea0;margin-top:6px}.ds-field-row{display:flex;gap:12px}.ds-field-row .ds-field{flex:1}.ds-db-types{display:flex;flex-wrap:wrap;gap:6px}.ds-db-type-btn{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 14px;border:2px solid #e2e4ea;border-radius:8px;background:#fff;color:#8e8ea0;cursor:pointer;transition:all .2s ease;min-width:80px}.ds-db-type-btn:hover{border-color:#d0d2da;background:#f8f9fc;color:#1a1a2e}.ds-db-type-btn.selected{border-color:#7c3aed;background:#7c3aed0f;color:#7c3aed}.ds-db-icon{display:flex;align-items:center;justify-content:center;color:inherit}.ds-db-name{font-size:11px;font-weight:500}.ds-file-types{display:flex;gap:12px}.ds-file-type-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border:2px solid #e2e4ea;border-radius:8px;background:#fff;color:#8e8ea0;cursor:pointer;transition:all .2s ease}.ds-file-type-btn:hover{border-color:#d0d2da;background:#f8f9fc;color:#1a1a2e}.ds-file-type-btn.selected{border-color:#7c3aed;background:#7c3aed0f;color:#7c3aed}.ds-file-type-btn span{font-size:12px;font-weight:500}.ds-file-input{display:flex;gap:8px}.ds-file-input input{flex:1}.ds-headers-list{display:flex;flex-direction:column;gap:8px}.ds-header-row{display:flex;gap:8px;align-items:center}.ds-header-row input{flex:1;padding:8px 10px;border:1px solid #e2e4ea;border-radius:6px;background:#fff;color:#1a1a2e;font-size:12px}.ds-header-row input:focus{outline:none;border-color:#7c3aed}.ds-btn{display:inline-flex;align-items:center;gap:6px;padding:10px 16px;border:1px solid #e2e4ea;border-radius:6px;background:#fff;color:#5a5a72;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s ease}.ds-btn:hover{background:#f5f6fa;border-color:#7c3aed;color:#7c3aed}.ds-btn:disabled{opacity:.5;cursor:not-allowed}.ds-btn-primary{background:#7c3aed;border-color:#7c3aed;color:#fff}.ds-btn-primary:hover:not(:disabled){background:#6d28d9;border-color:#6d28d9}.ds-btn-small{padding:6px 12px;font-size:12px}.ds-btn-icon{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:#8e8ea0;cursor:pointer;border-radius:4px;transition:all .2s ease}.ds-btn-icon:hover{background:#7c3aed1a;color:#7c3aed}.ds-btn-icon.ds-btn-danger:hover{background:#ef44441a;color:#ef4444}.ds-btn-link{background:none;border:none;color:#7c3aed;font-size:12px;cursor:pointer;padding:0;margin-left:auto}.ds-btn-link:hover{text-decoration:underline}.ds-field label:has(.ds-btn-link){display:flex;align-items:center;justify-content:space-between}.ds-test-section{display:flex;align-items:center;gap:16px;padding:16px;background:#f8f9fc;border:1px solid #e2e4ea;border-radius:8px;margin-top:16px}.ds-btn-test{background:#fff;border-color:#e2e4ea}.ds-btn-test:hover:not(:disabled){background:#f5f6fa;border-color:#7c3aed}.ds-spinner{animation:dsSpin 1s linear infinite}@keyframes dsSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ds-test-result{display:flex;align-items:center;gap:8px;font-size:13px}.ds-test-result.success{color:#22c55e}.ds-test-result.error{color:#ef4444}.ds-info-box{padding:12px 16px;background:#7c3aed0f;border:1px solid rgba(124,58,237,.15);border-radius:8px;margin-top:16px}.ds-info-box p{margin:0;font-size:12px;color:#5a5a72;line-height:1.5}.ds-info-box p+p{margin-top:8px}.ds-info-box strong{color:#1a1a2e}.ds-coming-soon{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.ds-coming-soon svg{color:#d0d2da;margin-bottom:16px;opacity:.5}.ds-coming-soon h4{margin:0 0 8px;color:#1a1a2e;text-transform:none;letter-spacing:normal}.ds-coming-soon p{margin:0;color:#8e8ea0;font-size:13px}.ds-dialog-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;background:#f8f9fc;border-top:1px solid #e2e4ea;border-radius:0 0 12px 12px;flex-shrink:0}.ds-dialog-content::-webkit-scrollbar{width:8px}.ds-dialog-content::-webkit-scrollbar-track{background:#f8f9fc}.ds-dialog-content::-webkit-scrollbar-thumb{background:#d0d2da;border-radius:4px}.ds-dialog-content::-webkit-scrollbar-thumb:hover{background:#b0b2ba}@media(max-width:768px){.ds-dialog{width:100%;max-width:100vw;max-height:100vh;height:100vh;border-radius:0;margin:0}.ds-dialog-header,.ds-dialog-footer{border-radius:0;padding:12px 16px}.ds-tabs{overflow-x:auto;padding:0 8px}.ds-tab{padding:10px 12px;font-size:12px;white-space:nowrap}.ds-dialog-content{padding:16px;flex:1;min-height:0}.ds-field-row{flex-direction:column;gap:0}.ds-db-types{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ds-db-type-btn{min-width:unset;padding:10px 8px}.ds-file-types{flex-direction:column}.ds-header-row{flex-wrap:wrap}.ds-header-row input{min-width:100px}.ds-test-section{flex-direction:column;align-items:stretch;gap:12px;margin-top:12px;padding:12px}.ds-btn-test,.ds-test-result{justify-content:center}.ds-dialog-footer{flex-direction:column-reverse;gap:8px}.ds-dialog-footer .ds-btn{width:100%;justify-content:center}}@media(max-width:480px){.ds-db-types{grid-template-columns:repeat(2,1fr)}.ds-db-type-btn{padding:8px 6px}.ds-db-name{font-size:10px}.ds-tab{padding:8px 10px;font-size:11px}.ds-badge-soon{font-size:7px;padding:1px 3px}}.ds-security-options{margin-top:16px;padding:14px 16px;background:#f8f9fc;border:1px solid #e2e4ea;border-radius:8px}.ds-security-options>label{display:block;margin-bottom:12px;font-size:11px;font-weight:600;color:#5a5a72;text-transform:uppercase;letter-spacing:.5px}.ds-checkbox-group{display:flex;flex-direction:column;gap:4px;margin-bottom:12px}.ds-checkbox-group:last-child{margin-bottom:0}.ds-checkbox-label{display:flex!important;align-items:center;gap:8px;cursor:pointer;font-size:13px;color:#1a1a2e;text-transform:none!important;letter-spacing:normal!important;font-weight:400!important;margin-bottom:0!important}.ds-checkbox-label input[type=checkbox]{width:16px;height:16px;margin:0;accent-color:#7c3aed;cursor:pointer}.ds-checkbox-label span{flex:1}.ds-checkbox-hint{font-size:11px;color:#8e8ea0;margin-left:24px;line-height:1.4}.nm-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.nm-dialog{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;width:700px;max-width:95vw;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;color:#1a1a1a;animation:slideIn .2s ease-out}@keyframes slideIn{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.nm-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.nm-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600}.nm-count{font-size:13px;font-weight:400;opacity:.9}.nm-close-btn{width:28px;height:28px;border:none;background:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s ease}.nm-close-btn:hover{background:#ffffff4d}.nm-toolbar{display:flex;align-items:center;gap:12px;padding:16px 20px;background:#f9f9f9;border-bottom:1px solid #e0e0e0}.nm-search-box{flex:1;display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #d0d0d0;border-radius:8px;padding:8px 12px}.nm-search-box svg{color:#666;flex-shrink:0}.nm-search-input{flex:1;border:none;outline:none;font-size:13px;font-family:inherit;color:#1a1a1a}.nm-search-input::-moz-placeholder{color:#999}.nm-search-input::placeholder{color:#999}.nm-add-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s ease}.nm-add-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.nm-add-form{background:#f0f0f0;border-bottom:1px solid #e0e0e0;padding:16px 20px}.nm-form-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-weight:600;color:#1a1a1a}.nm-form-header button{background:none;border:none;cursor:pointer;color:#666;padding:4px;display:flex;align-items:center}.nm-form-header button:hover{color:#1a1a1a}.nm-form-row{display:flex;gap:8px;margin-bottom:8px}.nm-dropdown-container{position:relative;flex:1}.nm-form-select{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:13px;font-family:inherit;background:#fff;cursor:pointer;text-align:left;transition:all .15s ease}.nm-form-select:hover{background:#f9f9f9;border-color:#8b5cf6}.nm-form-select svg{flex-shrink:0;color:#666}.nm-form-input{padding:8px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:13px;font-family:inherit;background:#fff}.nm-form-input{width:120px}.nm-dropdown-overlay{position:fixed;inset:0;z-index:1}.nm-dropdown-menu{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #d0d0d0;border-radius:6px;box-shadow:0 4px 12px #00000026;z-index:2;max-height:200px;overflow-y:auto;margin-top:4px}.nm-dropdown-item{padding:8px 12px;font-size:13px;cursor:pointer;transition:background .15s ease}.nm-dropdown-item:hover{background:#f3e8ff}.nm-dropdown-item.active{background:#8b5cf6;color:#fff;font-weight:500}.nm-form-textarea{width:100%;padding:10px 12px;border:1px solid #d0d0d0;border-radius:6px;font-size:13px;font-family:inherit;background:#fff;resize:vertical;margin-bottom:12px}.nm-form-actions{display:flex;gap:8px;justify-content:flex-end}.nm-form-btn-primary,.nm-form-btn-secondary{padding:8px 20px;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s ease}.nm-form-btn-primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.nm-form-btn-primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.nm-form-btn-secondary{background:#636366;color:#fff}.nm-form-btn-secondary:hover{background:#545458}.nm-content{flex:1;overflow-y:auto;padding:20px}.nm-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#999}.nm-empty svg{opacity:.3;margin-bottom:16px}.nm-empty-title{font-size:16px;font-weight:600;color:#666;margin:0 0 8px}.nm-empty-text{font-size:13px;color:#999;margin:0;text-align:center}.nm-list{display:flex;flex-direction:column;gap:12px}.nm-note-card{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:14px;transition:box-shadow .15s ease,border-color .15s ease}.nm-note-card:hover{border-color:#8b5cf6;box-shadow:0 4px 12px #8b5cf61a}.nm-note-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.nm-note-location{display:flex;align-items:center;gap:8px;color:#666;font-size:12px}.nm-note-location svg{color:#8b5cf6;flex-shrink:0}.nm-sheet-name{font-weight:600;color:#1a1a1a}.nm-cell-address{font-family:Consolas,Monaco,monospace;background:#f3e8ff;color:#7c3aed;padding:2px 6px;border-radius:4px;font-weight:500}.nm-note-actions{display:flex;gap:4px}.nm-action-btn{width:28px;height:28px;border:none;background:transparent;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .15s ease}.nm-action-btn:hover{background:#f3e8ff;color:#8b5cf6}.nm-action-btn-danger:hover{background:#fee;color:#ef4444}.nm-cell-value{font-size:12px;color:#666;margin-bottom:8px;padding:6px 10px;background:#f9f9f9;border-radius:6px}.nm-cell-value strong{color:#1a1a1a;margin-right:6px}.nm-note-text{font-size:13px;line-height:1.5;color:#1a1a1a;white-space:pre-wrap;word-break:break-word}.nm-edit-area{margin-top:8px}.nm-edit-textarea{width:100%;padding:10px;border:1px solid #8b5cf6;border-radius:6px;font-size:13px;font-family:inherit;resize:vertical;box-shadow:0 0 0 2px #8b5cf61a}.nm-edit-textarea:focus{outline:none;border-color:#7c3aed}.nm-edit-actions{display:flex;gap:8px;justify-content:flex-end;margin-top:8px}.nm-edit-btn-save,.nm-edit-btn-cancel{padding:6px 16px;border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;transition:background .15s ease}.nm-edit-btn-save{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.nm-edit-btn-save:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.nm-edit-btn-cancel{background:#e0e0e0;color:#1a1a1a}.nm-edit-btn-cancel:hover{background:#d0d0d0}.nm-footer{display:flex;justify-content:flex-end;padding:16px 20px;background:#f9f9f9;border-top:1px solid #e0e0e0}.nm-footer-btn{padding:10px 24px;background:#636366;color:#fff;border:none;border-radius:8px;cursor:pointer;font-size:13px;font-weight:500;transition:background .15s ease}.nm-footer-btn:hover{background:#545458}.nm-content::-webkit-scrollbar{width:8px}.nm-content::-webkit-scrollbar-track{background:#f0f0f0}.nm-content::-webkit-scrollbar-thumb{background:#d0d0d0;border-radius:4px}.nm-content::-webkit-scrollbar-thumb:hover{background:#b0b0b0}.filter-dropdown{position:fixed;z-index:1000;background:#fff;border:1px solid #e2e4ea;border-radius:12px;box-shadow:0 12px 32px #7c3aed1f,0 4px 12px #00000014;min-width:300px;max-width:340px;font-size:13px;overflow:hidden}.filter-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-bottom:1px solid #e9e5f5}.filter-column-name{font-weight:700;font-size:14px;color:#4c1d95;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-close-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;background:#7c3aed14;border-radius:6px;cursor:pointer;color:#7c3aed;transition:all .15s}.filter-close-btn:hover{background:#7c3aed2e;color:#5b21b6}.filter-sort-section{padding:6px 8px}.filter-sort-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 12px;border:none;background:transparent;border-radius:8px;cursor:pointer;color:#374151;font-size:13px;font-weight:500;text-align:left;transition:all .15s}.filter-sort-btn:hover{background:#f5f3ff;color:#7c3aed}.filter-sort-btn.active{background:#ede9fe;color:#7c3aed;font-weight:600}.filter-sort-btn.active svg{color:#7c3aed}.filter-divider{height:1px;background:#e9e5f5;margin:0}.filter-tabs{display:flex;padding:8px 8px 0;gap:2px;border-bottom:2px solid #e9e5f5}.filter-tab{display:flex;align-items:center;gap:5px;padding:9px 14px;border:none;background:transparent;border-radius:8px 8px 0 0;cursor:pointer;color:#9ca3af;font-size:12px;font-weight:600;transition:all .15s;margin-bottom:-2px;border-bottom:2px solid transparent}.filter-tab:hover{color:#7c3aed;background:#f5f3ff}.filter-tab.active{color:#7c3aed;background:#fff;border-bottom:2px solid #7c3aed}.filter-tab.active svg{color:#7c3aed}.filter-tab-content{padding:12px;max-height:380px;overflow-y:auto}.filter-values-tab{display:flex;flex-direction:column;gap:10px}.filter-search{display:flex;align-items:center;gap:8px;padding:9px 12px;background:#f9fafb;border-radius:8px;border:1.5px solid #e5e7eb;transition:all .2s}.filter-search:focus-within{background:#fff;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.filter-search svg{color:#9ca3af;flex-shrink:0}.filter-search input{flex:1;border:none;background:transparent;outline:none;font-size:13px;color:#374151}.filter-search input::-moz-placeholder{color:#b0b5bd}.filter-search input::placeholder{color:#b0b5bd}.filter-select-actions{display:flex;gap:6px}.filter-select-actions button{flex:1;padding:7px 12px;border:1.5px solid #e5e7eb;background:#fff;border-radius:6px;cursor:pointer;font-size:12px;font-weight:500;color:#6b7280;transition:all .15s}.filter-select-actions button:hover{background:#f5f3ff;border-color:#c4b5fd;color:#7c3aed}.filter-values-list{max-height:200px;overflow-y:auto;border:1.5px solid #e5e7eb;border-radius:8px;background:#fafafa}.filter-value-item{display:flex;align-items:center;gap:10px;padding:8px 12px;cursor:pointer;transition:background .12s;border-bottom:1px solid #f0f0f0}.filter-value-item:last-child{border-bottom:none}.filter-value-item:hover{background:#f5f3ff}.filter-value-item input[type=checkbox]{width:16px;height:16px;accent-color:#7c3aed;cursor:pointer;border-radius:4px}.filter-value-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#374151;font-size:13px}.filter-text-tab,.filter-number-tab{display:flex;flex-direction:column;gap:12px}.filter-condition-row{display:flex;flex-direction:column;gap:6px}.filter-condition-row label{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.3px}.filter-condition-row select,.filter-condition-row input{width:100%;padding:10px 12px;border:1.5px solid #e5e7eb;border-radius:8px;font-size:13px;color:#374151;background:#fff;transition:all .15s;font-family:inherit}.filter-condition-row select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px;cursor:pointer}.filter-condition-row select:focus,.filter-condition-row input:focus{outline:none;border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed14}.filter-condition-row select:hover{border-color:#c4b5fd}.filter-condition-row input[type=number]{-moz-appearance:textfield}.filter-condition-row input[type=number]::-webkit-outer-spin-button,.filter-condition-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.filter-checkbox-row{display:flex;align-items:center;gap:8px;cursor:pointer;color:#6b7280;font-size:12px;padding:4px 0}.filter-checkbox-row input[type=checkbox]{width:15px;height:15px;accent-color:#7c3aed;cursor:pointer}.filter-apply-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:11px 16px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s;box-shadow:0 2px 6px #7c3aed40}.filter-apply-btn:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9);box-shadow:0 4px 10px #7c3aed59}.filter-apply-btn:active{transform:scale(.98)}.filter-clear-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:calc(100% - 16px);margin:8px;padding:9px 16px;background:transparent;color:#ef4444;border:1.5px solid #fecaca;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:all .15s}.filter-clear-btn:hover{background:#fef2f2;border-color:#ef4444}.filter-values-list::-webkit-scrollbar,.filter-tab-content::-webkit-scrollbar{width:5px}.filter-values-list::-webkit-scrollbar-track,.filter-tab-content::-webkit-scrollbar-track{background:transparent}.filter-values-list::-webkit-scrollbar-thumb,.filter-tab-content::-webkit-scrollbar-thumb{background:#d8d3e8;border-radius:3px}.filter-values-list::-webkit-scrollbar-thumb:hover,.filter-tab-content::-webkit-scrollbar-thumb:hover{background:#a78bfa}.cube-view{display:flex;flex-direction:column;height:100%;background:#fafafa;overflow:hidden}.cube-view-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#9ca3af}.cube-view-empty svg{opacity:.5}.cube-view-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:#fff;border-bottom:1px solid #e5e7eb;flex-shrink:0}.cube-view-toolbar-left{display:flex;align-items:center;gap:16px}.cube-view-toolbar-right{display:flex;align-items:center;gap:4px}.cube-view-toggle{display:flex;background:#f3f4f6;border-radius:6px;padding:2px}.cube-toggle-btn{display:flex;align-items:center;gap:6px;padding:6px 12px;border:none;background:transparent;border-radius:4px;font-size:12px;font-weight:500;color:#6b7280;cursor:pointer;transition:all .15s ease}.cube-toggle-btn:hover{color:#374151}.cube-toggle-btn.active{background:#fff;color:#7c3aed;box-shadow:0 1px 3px #0000001a}.cube-view-title{font-size:14px;font-weight:600;color:#374151}.cube-view-info{font-size:12px;color:#9ca3af}.cube-toolbar-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.cube-toolbar-btn:hover{background:#f3f4f6;color:#374151}.cube-toolbar-btn.active{background:#ede9fe;color:#7c3aed}.cube-btn{display:flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.cube-btn:hover{background:#f9fafb;border-color:#9ca3af}.cube-view-content{flex:1;overflow:auto;padding:16px}.cube-view-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;gap:12px;color:#9ca3af}.cube-view-loading .spinning{animation:spin 1s linear infinite}.cube-view-hint{padding:8px 16px;background:#f9fafb;border-top:1px solid #e5e7eb;font-size:11px;color:#9ca3af;text-align:center}.cube-table-container{overflow:auto;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a}.cube-table-container+.cube-drill-down-inline{margin-top:-1px}.cube-view-content:has(.cube-drill-down-inline) .cube-table-container{border-radius:8px 8px 0 0;box-shadow:none;border:1px solid #e5e7eb;border-bottom:none}.cube-table{border-collapse:collapse;font-size:12px;width:100%;min-width:-moz-max-content;min-width:max-content}.cube-table th,.cube-table td{padding:10px 14px;border:1px solid #e5e7eb;text-align:right;white-space:nowrap}.cube-table th{background:#f9fafb;font-weight:600;color:#374151;position:sticky;top:0;z-index:10}.cube-corner{text-align:left!important;vertical-align:bottom;background:#f3f4f6!important;min-width:150px}.cube-corner.drop-target{background:#ede9fe!important;outline:2px dashed #8b5cf6;outline-offset:-2px}.cube-corner.empty-corner{min-width:120px;background:#f9fafb!important}.cube-drop-hint{font-size:10px;color:#9ca3af;font-style:italic;padding:8px;text-align:center;border:1px dashed #d1d5db;border-radius:4px}.cube-corner-content{display:flex;flex-direction:column;gap:4px}.cube-dimension-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:11px;font-weight:500;color:#374151;cursor:grab;transition:all .15s ease}.cube-dimension-chip:hover{border-color:#8b5cf6;box-shadow:0 2px 4px #8b5cf626}.cube-dimension-chip.dragging{opacity:.5;cursor:grabbing}.cube-dimension-chip.row-dim{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#93c5fd;color:#1d4ed8}.cube-dimension-chip.col-dim{background:linear-gradient(135deg,#f0fdf4,#dcfce7);border-color:#86efac;color:#166534}.cube-dimension-chip svg{color:#9ca3af}.cube-col-dim-header{text-align:center!important;background:#f0fdf4!important;vertical-align:middle}.cube-col-dim-header.drop-target{background:#dcfce7!important;outline:2px dashed #22c55e;outline-offset:-2px}.cube-col-dims{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.cube-empty-header{background:#f9fafb!important}.cube-col-header{background:#f9fafb;text-align:center!important}.cube-col-header.cube-total{background:#f3f4f6;font-weight:700}.cube-row-header{text-align:left!important;background:#f9fafb;font-weight:500;position:sticky;left:0;z-index:5}.cube-row-header.expandable{cursor:pointer}.cube-row-header.cube-total{background:#f3f4f6;font-weight:700}.cube-row-header-content{display:flex;align-items:center;gap:4px}.cube-expand-btn{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;border:none;background:transparent;color:#6b7280;cursor:pointer;border-radius:3px;transition:all .15s ease}.cube-expand-btn:hover{background:#e5e7eb;color:#374151}.cube-expand-placeholder{width:18px}.cube-header-label{flex:1}.cube-data-cell{font-variant-numeric:tabular-nums;cursor:pointer;transition:background .1s}.cube-data-cell:hover{background:#f0f9ff}.cube-data-cell.cube-total{background:#f3f4f6;font-weight:600}.cube-data-cell.cube-subtotal{background:#f9fafb;font-weight:500}.cube-totals-row td{border-top:2px solid #9ca3af;background:#f3f4f6;font-weight:600}.cube-no-data{padding:40px;text-align:center;color:#9ca3af}.cube-filter-bar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0;position:relative}.cube-filter-label{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:500;color:#6b7280}.cube-filter-chips{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cube-filter-chip-wrapper{position:relative}.cube-filter-chip{display:flex;align-items:center;gap:6px;padding:6px 10px;background:#fff;border:1px solid #d1d5db;border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s ease}.cube-filter-chip:hover{border-color:#9ca3af}.cube-filter-chip.active{background:#ede9fe;border-color:#c4b5fd}.cube-filter-chip.open{border-color:#8b5cf6;box-shadow:0 0 0 2px #8b5cf633}.cube-filter-chip .chip-name{font-weight:500;color:#374151}.cube-filter-chip .chip-value{color:#6b7280;max-width:100px;overflow:hidden;text-overflow:ellipsis}.cube-filter-chip svg.rotated{transform:rotate(180deg)}.cube-filter-dropdown{position:absolute;top:100%;left:0;z-index:100;min-width:220px;max-height:320px;margin-top:4px;background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 25px #00000026;overflow:hidden;display:flex;flex-direction:column}.filter-dropdown-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:12px;font-weight:600;color:#374151}.filter-clear-btn{background:none;border:none;font-size:11px;color:#ef4444;cursor:pointer;padding:2px 6px;border-radius:4px}.filter-clear-btn:hover{background:#fee2e2}.filter-dropdown-actions{display:flex;gap:8px;padding:8px 12px;border-bottom:1px solid #e5e7eb}.filter-dropdown-actions button{font-size:11px;color:#6b7280;background:none;border:none;cursor:pointer;padding:4px 8px;border-radius:4px}.filter-dropdown-actions button:hover{background:#f3f4f6;color:#374151}.filter-dropdown-list{flex:1;overflow-y:auto;padding:8px 0}.filter-member{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:12px;color:#374151;cursor:pointer}.filter-member:hover{background:#f3f4f6}.filter-member input{display:none}.member-checkbox{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:1px solid #d1d5db;border-radius:3px;background:#fff;color:#fff;transition:all .15s ease}.filter-member.selected .member-checkbox,.filter-member input:checked+.member-checkbox{background:#8b5cf6;border-color:#8b5cf6}.member-label{flex:1}.cube-filter-backdrop{position:fixed;inset:0;z-index:50}.cube-drill-down-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.cube-drill-down-modal{width:90%;max-width:900px;max-height:80vh;background:#fff;border-radius:12px;box-shadow:0 20px 50px #0000004d;display:flex;flex-direction:column;overflow:hidden}.drill-down-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff}.drill-down-title{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:600}.drill-down-value{padding:4px 10px;background:#fff3;border-radius:4px;font-size:14px}.drill-down-close{background:none;border:none;color:#fff;cursor:pointer;padding:4px;border-radius:4px;opacity:.8;transition:opacity .15s}.drill-down-close:hover{opacity:1;background:#ffffff1a}.drill-down-path{display:flex;align-items:center;flex-wrap:wrap;gap:4px;padding:12px 20px;background:#f9fafb;border-bottom:1px solid #e5e7eb;font-size:12px;color:#6b7280}.drill-down-path .path-part{display:flex;align-items:center;gap:4px}.drill-down-path .path-measure{font-weight:600;color:#8b5cf6}.drill-down-info{padding:10px 20px;font-size:12px;color:#6b7280;border-bottom:1px solid #e5e7eb}.drill-down-table-container{flex:1;overflow:auto;padding:0}.drill-down-table{width:100%;border-collapse:collapse;font-size:12px}.drill-down-table th,.drill-down-table td{padding:10px 14px;border-bottom:1px solid #e5e7eb;text-align:left}.drill-down-table th{background:#f9fafb;font-weight:600;color:#374151;position:sticky;top:0;z-index:10}.drill-down-table tr:hover td{background:#f9fafb}.drill-down-table .row-num{width:50px;text-align:center;color:#9ca3af;background:#f9fafb}.drill-down-truncated{padding:12px 20px;text-align:center;font-size:12px;color:#9ca3af;background:#f9fafb;border-top:1px solid #e5e7eb}.drill-down-footer{display:flex;align-items:center;justify-content:flex-end;gap:10px;padding:16px 20px;background:#f9fafb;border-top:1px solid #e5e7eb}.drill-down-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid #d1d5db;background:#fff;border-radius:6px;font-size:13px;font-weight:500;color:#374151;cursor:pointer;transition:all .15s ease}.drill-down-btn:hover{background:#f9fafb;border-color:#9ca3af}.drill-down-btn.primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-color:#7c3aed;color:#fff}.drill-down-btn.primary:hover{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.cube-drill-down-inline{margin-top:0;background:#fff;border:1px solid #e5e7eb;border-top:2px solid #8b5cf6;border-radius:0 0 8px 8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.drill-down-inline-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#f5f3ff,#ede9fe);border-bottom:1px solid #e5e7eb}.drill-down-inline-title{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#5b21b6}.drill-down-inline-title>svg{color:#8b5cf6}.drill-down-inline-title .drill-down-value{padding:3px 8px;background:#8b5cf6;color:#fff;border-radius:4px;font-size:12px;font-weight:600}.drill-down-path-inline{display:flex;align-items:center;gap:6px;margin-left:8px}.drill-down-path-inline .path-chip{padding:3px 8px;background:#fff;border:1px solid #d1d5db;border-radius:4px;font-size:11px;font-weight:500;color:#4b5563}.drill-down-path-inline .path-chip.measure{background:#ddd6fe;border-color:#c4b5fd;color:#6d28d9}.drill-down-inline-actions{display:flex;align-items:center;gap:8px}.drill-down-count{font-size:12px;color:#6b7280;margin-right:8px}.drill-down-btn-sm{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid #d1d5db;background:#fff;border-radius:6px;color:#6b7280;cursor:pointer;transition:all .15s ease}.drill-down-btn-sm:hover{background:#f3f4f6;color:#374151;border-color:#9ca3af}.drill-down-btn-sm.close{border-color:#fca5a5;color:#dc2626}.drill-down-btn-sm.close:hover{background:#fee2e2;border-color:#f87171}.drill-down-inline-table-container{max-height:300px;overflow:auto}.drill-down-inline-table{width:100%;border-collapse:collapse;font-size:12px}.drill-down-inline-table th,.drill-down-inline-table td{padding:8px 12px;border-bottom:1px solid #f3f4f6;text-align:left}.drill-down-inline-table th{background:#f9fafb;font-weight:600;color:#374151;position:sticky;top:0;z-index:10;border-bottom:1px solid #e5e7eb}.drill-down-inline-table tbody tr:hover td{background:#f5f3ff}.drill-down-inline-table tbody tr:nth-child(2n) td{background:#fafafa}.drill-down-inline-table tbody tr:nth-child(2n):hover td{background:#f5f3ff}.drill-down-inline-table .row-num{width:40px;text-align:center;color:#9ca3af;font-size:11px}.cube-drill-down-row{background:linear-gradient(135deg,#faf5ff,#f5f3ff)}.cube-drill-down-row td{font-size:11px;padding:6px 12px!important;border-bottom:1px solid #ede9fe!important}.cube-drill-down-row:hover td{background:#ede9fe}.cube-row-header.drill-down-cell{background:#f5f3ff!important}.drill-down-row-label{display:flex;align-items:center;gap:8px;color:#6b7280}.drill-down-value{padding:2px 6px;background:#fff;border:1px solid #e5e7eb;border-radius:3px;font-size:10px;color:#4b5563}.cube-data-cell.drill-down-cell{background:#faf5ff!important;color:#6b7280;font-size:11px}.cube-drill-down-more td{background:#f9fafb}.drill-down-more-cell{text-align:center;padding:8px!important;font-size:11px;color:#9ca3af;font-style:italic}.cube-expand-btn.drill-down-toggle{color:#8b5cf6}.cube-expand-btn.drill-down-toggle:hover{background:#ede9fe;color:#7c3aed}.cube-data-row.drill-down-parent td{border-bottom-color:#c4b5fd}.cube-data-row.drill-down-parent .cube-row-header{background:#f5f3ff}.pfsd-overlay{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000}.pfsd-dialog{background:#f0f0f0;border:1px solid #888;box-shadow:0 4px 20px #0000004d;width:380px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;color:#1a1a1a}.pfsd-titlebar{display:flex;align-items:center;justify-content:space-between;padding:4px 6px;background:linear-gradient(180deg,#f9f9f9,#e8e8e8);border-bottom:1px solid #ccc}.pfsd-title{font-size:12px;font-weight:400;color:#1a1a1a}.pfsd-titlebar-actions{display:flex;gap:2px}.pfsd-titlebar-btn{width:24px;height:20px;border:none;background:transparent;color:#666;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:2px}.pfsd-titlebar-btn:hover{background:#e0e0e0}.pfsd-close-btn:hover{background:#c42b1c;color:#fff}.pfsd-content{padding:12px 16px;flex:1;overflow-y:auto}.pfsd-field-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pfsd-label{font-size:12px;color:#1a1a1a;min-width:85px}.pfsd-label-sm{font-size:11px;color:#444;display:block;margin-bottom:4px}.pfsd-value{font-size:12px;color:#1a1a1a}.pfsd-input{flex:1;height:22px;padding:0 6px;border:1px solid #7a7a7a;background:#fff;font-size:12px;font-family:inherit;color:#1a1a1a}.pfsd-input:focus{outline:none;border-color:#0078d4}.pfsd-tabs{display:flex;gap:0;margin-bottom:12px;border-bottom:1px solid #888}.pfsd-tab{padding:6px 12px;border:1px solid transparent;border-bottom:none;background:#e8e8e8;color:#444;font-size:12px;cursor:pointer;margin-bottom:-1px;border-radius:3px 3px 0 0}.pfsd-tab:hover{background:#f0f0f0}.pfsd-tab.active{background:#f0f0f0;border-color:#888;color:#1a1a1a;position:relative}.pfsd-tab.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:#f0f0f0}.pfsd-tab-content{min-height:280px}.pfsd-section{margin-bottom:16px}.pfsd-section:last-child{margin-bottom:0}.pfsd-section-title{font-size:12px;font-weight:600;color:#1a1a1a;margin-bottom:8px}.pfsd-radio-group{display:flex;flex-direction:column;gap:6px}.pfsd-radio{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:#1a1a1a}.pfsd-radio input{position:absolute;opacity:0;width:0;height:0}.pfsd-radio-indicator{width:14px;height:14px;border:1px solid #666;border-radius:50%;background:#fff;position:relative;flex-shrink:0}.pfsd-radio input:checked+.pfsd-radio-indicator{border-color:#0078d4}.pfsd-radio input:checked+.pfsd-radio-indicator:after{content:"";position:absolute;top:3px;left:3px;width:6px;height:6px;border-radius:50%;background:#0078d4}.pfsd-radio input:focus+.pfsd-radio-indicator{box-shadow:0 0 0 2px #0078d44d}.pfsd-checkbox{display:flex;align-items:flex-start;gap:6px;cursor:pointer;font-size:12px;color:#1a1a1a;line-height:1.4}.pfsd-checkbox input{position:absolute;opacity:0;width:0;height:0}.pfsd-checkbox-indicator{width:14px;height:14px;border:1px solid #666;background:#fff;position:relative;flex-shrink:0;margin-top:1px}.pfsd-checkbox input:checked+.pfsd-checkbox-indicator{background:#0078d4;border-color:#0078d4}.pfsd-checkbox input:checked+.pfsd-checkbox-indicator:after{content:"";position:absolute;top:1px;left:4px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.pfsd-checkbox input:focus+.pfsd-checkbox-indicator{box-shadow:0 0 0 2px #0078d44d}.pfsd-checkbox input:disabled+.pfsd-checkbox-indicator{background:#e0e0e0;border-color:#999}.pfsd-checkbox input:disabled+.pfsd-checkbox-indicator+span{color:#888}.pfsd-checkbox-group{display:flex;flex-direction:column;gap:8px;margin-top:12px}.pfsd-nested-options{margin-left:20px;display:flex;flex-direction:column;gap:6px;padding:4px 0}.pfsd-functions-section{margin-top:10px;margin-left:20px}.pfsd-functions-list{border:1px solid #7a7a7a;background:#fff;height:120px;overflow-y:auto}.pfsd-functions-list.disabled{background:#f0f0f0;color:#888}.pfsd-function-item{padding:3px 8px;font-size:12px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.pfsd-function-item:hover{background:#e5f3ff}.pfsd-functions-list.disabled .pfsd-function-item{cursor:not-allowed;color:#888}.pfsd-functions-list.disabled .pfsd-function-item:hover{background:transparent}.pfsd-function-item.selected{background:#0078d4;color:#fff}.pfsd-functions-list.disabled .pfsd-function-item.selected{background:#ccc;color:#666}.pfsd-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 16px;background:#f0f0f0;border-top:1px solid #ccc}.pfsd-btn{height:24px;padding:0 20px;border:1px solid transparent;font-size:12px;font-family:inherit;cursor:pointer;min-width:75px}.pfsd-btn:disabled{opacity:.5;cursor:not-allowed}.pfsd-btn-primary{background:#e1e1e1;color:#1a1a1a;border-color:#adadad}.pfsd-btn-primary:hover:not(:disabled){background:#c4e5f6;border-color:#0078d4}.pfsd-btn-primary:active:not(:disabled){background:#98d1ef}.pfsd-btn-secondary{background:#e1e1e1;color:#1a1a1a;border-color:#adadad}.pfsd-btn-secondary:hover:not(:disabled){background:#c4e5f6;border-color:#0078d4}.pfsd-btn-secondary:active:not(:disabled){background:#98d1ef}.view-switcher{display:flex;align-items:center;gap:8px;padding:4px 8px;background:#f3f4f6;border-radius:8px;border:1px solid #e5e7eb}.view-switcher-tabs{display:flex;align-items:center;gap:2px;background:#e5e7eb;border-radius:6px;padding:2px}.view-switcher-tab{display:flex;align-items:center;gap:6px;padding:8px 14px;border:none;background:transparent;border-radius:6px;font-size:13px;font-weight:600;color:#4b5563;cursor:pointer;transition:all .15s ease}.view-switcher-tab:hover{color:#1f2937;background:#ffffffb3}.view-switcher-tab.active{background:#8b5cf6;color:#fff;box-shadow:0 2px 4px #8b5cf64d}.view-switcher-tab.active svg{color:#fff}.view-switcher-tab svg{flex-shrink:0}.view-switcher-pivot{position:relative}.view-switcher-overlay{position:fixed;inset:0;z-index:100}.view-switcher-dropdown{position:absolute;bottom:100%;left:0;margin-bottom:4px;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 -4px 20px #0003;z-index:101;min-width:200px;overflow:hidden;padding:4px}.view-switcher-dropdown-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:transparent;font-size:14px;font-weight:500;color:#1f2937;cursor:pointer;text-align:left;transition:all .15s ease;border-radius:6px}.view-switcher-dropdown-item:hover{background:#f3f4f6}.view-switcher-dropdown-item.active{background:#8b5cf6;color:#fff}.view-switcher-dropdown-item svg{color:#6b7280;flex-shrink:0}.view-switcher-dropdown-item.active svg{color:#fff}.view-switcher-count{display:flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;background:#8b5cf6;color:#fff;border-radius:10px;font-size:11px;font-weight:600}.dialog-overlay{position:fixed;inset:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;opacity:0;transition:opacity .2s ease}.dialog-overlay.animate-in{opacity:1}.update-dialog{background:#fff;border-radius:20px;padding:32px;max-width:420px;width:90%;box-shadow:0 25px 60px #7c3aed40;text-align:center;animation:dialogSlideIn .3s ease}@keyframes dialogSlideIn{0%{opacity:0;transform:scale(.95) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.update-dialog-content{display:flex;flex-direction:column;align-items:center;gap:12px}.update-dialog-icon{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.update-dialog-icon.update-available,.update-dialog-icon.update-downloading{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 8px 24px #7c3aed59}.update-dialog-icon.update-ready,.update-dialog-icon.update-current{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;box-shadow:0 8px 24px #22c55e59}.update-dialog-icon.update-error{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;box-shadow:0 8px 24px #ef444459}.update-dialog-icon .spinning{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.update-dialog-title{font-size:24px;font-weight:700;color:#1f2937;margin:0}.update-dialog-message{font-size:15px;color:#6b7280;margin:0;line-height:1.5}.update-version-badge{display:flex;align-items:center;gap:12px;padding:12px 20px;background:#f5f3ff;border-radius:12px;margin:8px 0}.version-current{font-size:14px;font-weight:600;color:#6b7280;padding:4px 10px;background:#fff;border-radius:6px}.version-arrow{font-size:16px;color:#7c3aed}.version-new{font-size:14px;font-weight:600;color:#fff;padding:4px 10px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:6px}.update-dialog-hint{font-size:13px;color:#9ca3af;margin:0}.update-progress-container{width:100%;display:flex;align-items:center;gap:12px;margin:8px 0}.update-progress-bar{flex:1;height:8px;background:#e5e7eb;border-radius:4px;overflow:hidden}.update-progress-fill{height:100%;background:linear-gradient(90deg,#8b5cf6,#7c3aed);border-radius:4px;transition:width .3s ease}.update-progress-text{font-size:14px;font-weight:600;color:#7c3aed;min-width:45px;text-align:right}.update-error-box{width:100%;padding:12px 16px;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;font-size:13px;color:#dc2626;text-align:left}.update-dialog-actions{display:flex;gap:12px;margin-top:8px;width:100%}.update-btn-primary{flex:1;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #7c3aed4d}.update-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed66}.update-btn-secondary{padding:14px 24px;background:#f3f4f6;color:#4b5563;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.update-btn-secondary:hover{background:#e5e7eb}.guided-tour-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .25s ease}.guided-tour-overlay.animate-in{opacity:1}.guided-tour-overlay.touring{opacity:1;background:transparent;pointer-events:none}.guided-tour-intro{position:relative;background:#fff;border-radius:20px;padding:36px 32px 28px;max-width:400px;width:90%;box-shadow:0 25px 60px #7c3aed4d;text-align:center;transform:scale(.92) translateY(16px);opacity:0;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.guided-tour-intro.animate-in{transform:scale(1) translateY(0);opacity:1}.guided-tour-intro-logo{width:72px;height:72px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:18px;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 10px 28px #7c3aed59}.guided-tour-intro-title{font-size:22px;font-weight:700;color:#1f2937;margin:0 0 6px;line-height:1.3}.guided-tour-name{color:#7c3aed;font-weight:700}.guided-tour-intro-subtitle{font-size:14px;color:#6b7280;margin:0 0 20px;line-height:1.5}.guided-tour-intro-steps-preview{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.guided-tour-preview-item{display:flex;align-items:center;gap:12px;padding:10px 14px;background:#f9fafb;border-radius:10px;text-align:left;font-size:13px;font-weight:500;color:#374151;transition:background .15s ease}.guided-tour-preview-item:hover{background:#f5f3ff}.guided-tour-preview-icon{width:34px;height:34px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.guided-tour-start-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px 24px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 6px 20px #7c3aed59}.guided-tour-start-btn:hover{transform:translateY(-2px);box-shadow:0 10px 28px #7c3aed73}.guided-tour-start-btn:active{transform:translateY(-1px)}.guided-tour-skip{display:block;margin:14px auto 0;background:none;border:none;font-size:12px;color:#9ca3af;cursor:pointer;transition:color .15s ease}.guided-tour-skip:hover{color:#6b7280}.guided-tour-close{position:absolute;top:12px;right:12px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;transition:all .15s ease;z-index:10}.guided-tour-close:hover{background:#f3f4f6;color:#4b5563}.guided-tour-close.small{position:static;width:26px;height:26px;flex-shrink:0}.guided-tour-highlight{position:fixed;border:2.5px solid #8b5cf6;box-shadow:0 0 0 4000px #0006,0 0 20px #8b5cf666;pointer-events:none;z-index:10001;transition:all .35s cubic-bezier(.4,0,.2,1)}.guided-tour-arrow{position:fixed;width:0;height:0;z-index:10003;pointer-events:none;transition:all .35s cubic-bezier(.4,0,.2,1)}.guided-tour-arrow.arrow-top{border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid white}.guided-tour-arrow.arrow-bottom{border-left:10px solid transparent;border-right:10px solid transparent;border-top:10px solid white}.guided-tour-arrow.arrow-left{border-top:10px solid transparent;border-bottom:10px solid transparent;border-right:10px solid white}.guided-tour-arrow.arrow-right{border-top:10px solid transparent;border-bottom:10px solid transparent;border-left:10px solid white}.guided-tour-tooltip{position:fixed;background:#fff;border-radius:14px;padding:18px;box-shadow:0 16px 48px #0000002e,0 0 0 1px #7c3aed14;z-index:10002;pointer-events:auto;transform:scale(.95) translateY(6px);opacity:0;animation:tourTooltipIn .25s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes tourTooltipIn{to{transform:scale(1) translateY(0);opacity:1}}.guided-tour-tooltip-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}.guided-tour-tooltip-icon{width:34px;height:34px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;flex-shrink:0}.guided-tour-tooltip-title{flex:1;font-size:16px;font-weight:700;color:#1f2937}.guided-tour-tooltip-desc{font-size:13px;color:#6b7280;line-height:1.55;margin:0 0 14px}.guided-tour-tooltip-footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.guided-tour-dots{display:flex;gap:6px}.guided-tour-dot{width:8px;height:8px;border-radius:50%;background:#e5e7eb;transition:all .2s ease}.guided-tour-dot.active{background:#7c3aed;transform:scale(1.25)}.guided-tour-dot.done{background:#a78bfa}.guided-tour-tooltip-actions{display:flex;gap:8px}.guided-tour-btn{display:flex;align-items:center;gap:5px;padding:7px 14px;border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;transition:all .15s ease}.guided-tour-btn.primary{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;box-shadow:0 2px 8px #7c3aed4d}.guided-tour-btn.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px #7c3aed66}.guided-tour-btn.secondary{background:#f3f4f6;color:#4b5563}.guided-tour-btn.secondary:hover{background:#e5e7eb}@media(max-width:480px){.update-dialog{padding:24px;margin:16px;width:calc(100% - 32px)}.guided-tour-intro{padding:24px 20px 20px;margin:16px;width:calc(100% - 32px)}.guided-tour-intro-title{font-size:20px}.guided-tour-intro-logo{width:60px;height:60px;border-radius:14px}.guided-tour-intro-logo svg{width:36px;height:36px}.update-dialog-actions{flex-direction:column}.update-btn-secondary{order:1}.guided-tour-tooltip{max-width:calc(100vw - 24px)}}.auth-dialog-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .3s ease;padding:16px}.auth-dialog-overlay.animate-in{opacity:1}.auth-dialog{position:relative;background:#fff;border-radius:20px;width:100%;max-width:400px;max-height:calc(100vh - 32px);overflow-y:auto;box-shadow:0 25px 60px #7c3aed40,0 0 0 1px #7c3aed1a;transform:scale(.9) translateY(20px);opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.auth-dialog.animate-in{transform:scale(1) translateY(0);opacity:1}.auth-close-btn{position:absolute;top:12px;right:12px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:#9ca3af;cursor:pointer;transition:all .2s ease;z-index:10}.auth-close-btn:hover{background:#f3f4f6;color:#4b5563}.auth-dialog-decoration{position:absolute;inset:0;pointer-events:none;overflow:hidden}.auth-circle{position:absolute;border-radius:50%;opacity:.06}.auth-circle.circle-1{width:300px;height:300px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);top:-160px;right:-100px}.auth-circle.circle-2{width:160px;height:160px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);bottom:-80px;left:-60px}.auth-circle.circle-3{width:60px;height:60px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);top:40%;left:-20px}.auth-dialog-header{padding:28px 32px 16px;text-align:center;position:relative;z-index:1}.auth-dialog-logo{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;box-shadow:0 8px 24px #7c3aed4d;overflow:hidden}.auth-dialog-logo img{width:100%;height:100%}.auth-dialog-title{font-size:22px;font-weight:800;color:#1f2937;margin:0 0 4px;line-height:1.2;letter-spacing:-.5px}.auth-dialog-subtitle{font-size:13px;color:#6b7280;margin:0;line-height:1.4}.auth-dialog-content{padding:0 32px 24px;position:relative;z-index:1}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-input-group{display:flex;flex-direction:column;gap:5px}.auth-input-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px}.auth-input-label svg{color:#7c3aed;width:13px;height:13px}.auth-input-wrapper{position:relative}.auth-input{width:100%;padding:10px 14px;background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;color:#1f2937;font-size:14px;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}.auth-input:focus{border-color:#7c3aed;box-shadow:0 0 0 3px #7c3aed1a;background:#fff}.auth-input::-moz-placeholder{color:#9ca3af}.auth-input::placeholder{color:#9ca3af}.auth-input.has-error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.auth-input-password{padding-right:44px}.auth-password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:none;border:none;padding:8px;color:#9ca3af;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.auth-password-toggle:hover{color:#7c3aed;background:#7c3aed1a}.auth-error{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:12px;line-height:1.4;animation:authShake .4s ease-out}.auth-error svg{flex-shrink:0;margin-top:1px;width:16px;height:16px}@keyframes authShake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.auth-success{display:flex;align-items:flex-start;gap:8px;padding:10px 14px;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;color:#16a34a;font-size:12px;line-height:1.4}.auth-success svg{flex-shrink:0;margin-top:1px;width:16px;height:16px}.auth-btn-primary{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:12px 20px;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 16px #7c3aed4d;margin-top:2px}.auth-btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 8px 24px #7c3aed66}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:authSpin .8s linear infinite}@keyframes authSpin{to{transform:rotate(360deg)}}.auth-divider{display:flex;align-items:center;gap:12px;margin:2px 0}.auth-divider-line{flex:1;height:1px;background:#e5e7eb}.auth-divider-text{font-size:11px;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.auth-btn-social{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:10px 20px;background:#fff;border:1px solid #e5e7eb;border-radius:10px;font-size:13px;font-weight:600;color:#374151;cursor:pointer;transition:all .2s ease}.auth-btn-social:hover:not(:disabled){background:#f9fafb;border-color:#d1d5db;transform:translateY(-1px)}.auth-btn-social:disabled{opacity:.6;cursor:not-allowed}.auth-btn-social svg{width:18px;height:18px}.auth-dialog-footer{padding:12px 32px 24px;text-align:center;position:relative;z-index:1}.auth-mode-switch{font-size:13px;color:#6b7280}.auth-mode-switch button{background:none;border:none;color:#7c3aed;font-weight:600;cursor:pointer;padding:0;margin-left:4px;transition:color .2s ease}.auth-mode-switch button:hover{color:#6d28d9;text-decoration:underline}.auth-forgot-link{margin-top:6px}.auth-forgot-link button{background:none;border:none;color:#9ca3af;font-size:12px;cursor:pointer;padding:0;transition:color .2s ease}.auth-forgot-link button:hover{color:#7c3aed}.auth-back-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:none;color:#6b7280;font-size:12px;cursor:pointer;padding:6px 10px;border-radius:6px;margin-bottom:10px;transition:all .2s ease}.auth-back-btn:hover{background:#f3f4f6;color:#374151}.auth-back-btn svg{width:14px;height:14px}.auth-terms{font-size:10px;color:#9ca3af;line-height:1.4;margin-top:10px}.auth-terms a{color:#7c3aed;text-decoration:none}.auth-terms a:hover{text-decoration:underline}@media(max-width:480px){.auth-dialog{max-width:calc(100% - 16px);border-radius:16px}.auth-dialog-header{padding:24px 20px 12px}.auth-dialog-content{padding:0 20px 20px}.auth-dialog-footer{padding:10px 20px 20px}.auth-dialog-logo{width:56px;height:56px;border-radius:14px}.auth-dialog-logo svg{width:32px;height:32px}.auth-dialog-title{font-size:20px}.auth-btn-primary{padding:11px 18px;font-size:13px}}@keyframes authFadeIn{0%{opacity:0}to{opacity:1}}@keyframes authSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.auth-form .auth-input-group{animation:authSlideUp .3s ease-out backwards}.auth-form .auth-input-group:nth-child(1){animation-delay:.05s}.auth-form .auth-input-group:nth-child(2){animation-delay:.1s}.auth-form .auth-input-group:nth-child(3){animation-delay:.15s}.auth-btn-primary{animation:authSlideUp .3s ease-out .2s backwards}.auth-divider{animation:authFadeIn .3s ease-out .25s backwards}.auth-btn-social{animation:authSlideUp .3s ease-out .3s backwards}.auth-verification-code-input{text-align:center!important;font-size:24px!important;font-weight:700!important;letter-spacing:8px!important;padding:12px!important;font-family:SF Mono,Consolas,Monaco,monospace!important}.auth-verification-code-input::-moz-placeholder{letter-spacing:8px;font-weight:400;opacity:.3}.auth-verification-code-input::placeholder{letter-spacing:8px;font-weight:400;opacity:.3}.auth-resend-link{text-align:center;margin-top:2px}.auth-resend-link button{background:none;border:none;color:#7c3aed;font-size:12px;font-weight:500;cursor:pointer;padding:4px 0;font-family:inherit}.auth-resend-link button:hover:not(:disabled){text-decoration:underline}.auth-resend-link button:disabled{color:#9ca3af;cursor:not-allowed}.profile-dialog-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;transition:opacity .3s ease}.profile-dialog-overlay.animate-in{opacity:1}.profile-dialog-enhanced{position:relative;display:flex;background:var(--theme-surface, #ffffff);border-radius:20px;width:100%;max-width:900px;height:600px;max-height:90vh;box-shadow:0 25px 60px #00000040,0 0 0 1px var(--theme-border, rgba(0, 0, 0, .1));overflow:hidden;transform:scale(.9) translateY(20px);opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.profile-dialog-enhanced.animate-in{transform:scale(1) translateY(0);opacity:1}.profile-dialog-enhanced.dark{background:var(--theme-surface, #1f2937);box-shadow:0 25px 60px #00000080,0 0 0 1px var(--theme-border, rgba(255, 255, 255, .1))}.profile-close-btn{position:absolute;top:16px;right:16px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;color:var(--theme-text-muted, #9ca3af);cursor:pointer;transition:all .2s ease;z-index:10}.profile-close-btn:hover{background:var(--theme-surface-hover, #f3f4f6);color:var(--theme-text-primary, #4b5563)}.profile-dialog-enhanced.dark .profile-close-btn:hover{background:var(--theme-surface-hover, #374151)}.profile-sidebar{width:260px;min-width:260px;background:var(--theme-background, #f9fafb);border-right:1px solid var(--theme-border, #e5e7eb);display:flex;flex-direction:column;overflow:hidden}.profile-dialog-enhanced.dark .profile-sidebar{background:var(--theme-background, #111827);border-right-color:var(--theme-border, #374151)}.sidebar-header{padding:24px 20px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--theme-border, #e5e7eb)}.profile-dialog-enhanced.dark .sidebar-header{border-bottom-color:var(--theme-border, #374151)}.sidebar-avatar{width:48px;height:48px;background:linear-gradient(135deg,var(--theme-primary, #8b5cf6) 0%,var(--theme-primary-hover, #7c3aed) 100%);border-radius:14px;display:flex;align-items:center;justify-content:center;color:#fff;overflow:hidden;flex-shrink:0}.sidebar-avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.sidebar-user-info{display:flex;flex-direction:column;gap:2px;min-width:0}.sidebar-name{font-size:15px;font-weight:600;color:var(--theme-text-primary, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-email{font-size:12px;color:var(--theme-text-muted, #9ca3af);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;padding:12px 10px;display:flex;flex-direction:column;gap:2px;overflow-y:auto}.sidebar-nav-item{display:flex;align-items:center;gap:12px;padding:12px 14px;background:transparent;border:none;border-radius:10px;font-size:14px;font-weight:500;color:var(--theme-text-secondary, #4b5563);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.sidebar-nav-item:hover{background:var(--theme-surface, #ffffff);color:var(--theme-text-primary, #1f2937)}.sidebar-nav-item.active{background:var(--theme-primary-light, #ede9fe);color:var(--theme-primary, #7c3aed)}.profile-dialog-enhanced.dark .sidebar-nav-item:hover{background:var(--theme-surface-hover, #374151)}.profile-dialog-enhanced.dark .sidebar-nav-item.active{background:var(--theme-primary-light, #2e1065);color:var(--theme-primary, #8b5cf6)}.sidebar-nav-item svg{flex-shrink:0}.sidebar-nav-item span:first-of-type{flex:1}.nav-badge{padding:2px 8px;background:var(--theme-border, #e5e7eb);border-radius:10px;font-size:11px;font-weight:600;color:var(--theme-text-muted, #6b7280)}.sidebar-nav-item.active .nav-badge{background:var(--theme-primary, #7c3aed);color:#fff}.profile-main-content{flex:1;overflow-y:auto;padding:32px 40px}.profile-tab-content{animation:fadeInUp .3s ease}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tab-header{margin-bottom:24px;display:flex;align-items:flex-start;justify-content:space-between}.tab-header h3{font-size:24px;font-weight:700;color:var(--theme-text-primary, #1f2937);margin:0}.tab-description{font-size:14px;color:var(--theme-text-muted, #9ca3af);margin:4px 0 0}.tab-actions{display:flex;gap:8px}.clear-btn{padding:8px 14px;background:transparent;border:1px solid var(--theme-border, #e5e7eb);border-radius:8px;font-size:13px;font-weight:500;color:var(--theme-text-secondary, #6b7280);cursor:pointer;transition:all .2s ease}.clear-btn:hover{background:var(--theme-error-light, #fee2e2);border-color:var(--theme-error, #ef4444);color:var(--theme-error, #ef4444)}.profile-header-section{display:flex;flex-direction:column;align-items:center;padding:20px 0 32px;text-align:center}.profile-avatar-wrapper{position:relative;margin-bottom:16px}.profile-avatar-large{width:100px;height:100px;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:24px;display:flex;align-items:center;justify-content:center;color:var(--theme-text-muted, #9ca3af);overflow:hidden;box-shadow:0 8px 24px #0000001a,0 0 0 4px var(--theme-primary-light, rgba(124, 58, 237, .1))}.profile-dialog-enhanced.dark .profile-avatar-large{background:linear-gradient(135deg,var(--theme-surface, #374151) 0%,var(--theme-surface-hover, #4b5563) 100%)}.profile-avatar-large img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.avatar-edit-btn{position:absolute;bottom:-4px;right:-4px;width:32px;height:32px;background:var(--theme-primary, #7c3aed);border:3px solid var(--theme-surface, #ffffff);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease}.avatar-edit-btn:hover{transform:scale(1.1);background:var(--theme-primary-hover, #6d28d9)}.profile-name-section{display:flex;flex-direction:column;align-items:center;gap:4px}.profile-name-display{display:flex;align-items:center;gap:8px}.profile-name-display h2{font-size:24px;font-weight:700;color:var(--theme-text-primary, #1f2937);margin:0}.profile-email{font-size:14px;color:var(--theme-text-muted, #9ca3af)}.profile-edit-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:6px;color:var(--theme-text-muted, #9ca3af);cursor:pointer;transition:all .2s ease}.profile-edit-btn:hover{background:var(--theme-surface-hover, #f3f4f6);color:var(--theme-primary, #7c3aed)}.profile-name-edit{display:flex;align-items:center;justify-content:center;gap:8px}.profile-name-edit input{padding:10px 14px;background:var(--theme-background, #f9fafb);border:1px solid var(--theme-border, #e5e7eb);border-radius:10px;font-size:16px;font-weight:600;color:var(--theme-text-primary, #1f2937);text-align:center;width:200px;outline:none;transition:all .2s ease}.profile-name-edit input:focus{border-color:var(--theme-primary, #7c3aed);box-shadow:0 0 0 3px var(--theme-primary-light, rgba(124, 58, 237, .1));background:var(--theme-surface, #fff)}.profile-name-save{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:linear-gradient(135deg,var(--theme-primary, #8b5cf6) 0%,var(--theme-primary-hover, #7c3aed) 100%);border:none;border-radius:10px;color:#fff;cursor:pointer;transition:all .2s ease}.profile-name-save:hover:not(:disabled){transform:scale(1.05)}.profile-name-save:disabled{opacity:.5;cursor:not-allowed}.profile-info-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:24px}.profile-info-card{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--theme-background, #f9fafb);border-radius:14px;border:1px solid var(--theme-border-light, #f3f4f6)}.profile-dialog-enhanced.dark .profile-info-card{background:var(--theme-background, #111827);border-color:var(--theme-border, #374151)}.card-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;background:linear-gradient(135deg,var(--theme-primary-light, #ede9fe) 0%,#ddd6fe 100%);border-radius:12px;color:var(--theme-primary, #7c3aed)}.profile-dialog-enhanced.dark .card-icon{background:linear-gradient(135deg,var(--theme-primary-light, #2e1065) 0%,#3d2d6b 100%)}.card-content{display:flex;flex-direction:column;gap:2px}.card-label{font-size:11px;font-weight:600;color:var(--theme-text-muted, #9ca3af);text-transform:uppercase;letter-spacing:.5px}.card-value{font-size:14px;font-weight:500;color:var(--theme-text-primary, #1f2937)}.profile-actions{padding-top:20px;border-top:1px solid var(--theme-border, #e5e7eb)}.profile-action-btn{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:var(--theme-background, #f9fafb);border:1px solid var(--theme-border, #e5e7eb);border-radius:10px;font-size:14px;font-weight:500;color:var(--theme-text-secondary, #374151);cursor:pointer;transition:all .2s ease}.profile-action-btn:hover{background:var(--theme-surface-hover, #f3f4f6);border-color:var(--theme-border, #d1d5db)}.profile-action-btn.danger{color:var(--theme-error, #dc2626)}.profile-action-btn.danger:hover{background:var(--theme-error-light, #fef2f2);border-color:#fecaca}.profile-error,.profile-success{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;font-size:13px;line-height:1.5;margin-bottom:16px}.profile-error{background:var(--theme-error-light, #fef2f2);border:1px solid #fecaca;color:var(--theme-error, #dc2626)}.profile-success{background:var(--theme-success-light, #f0fdf4);border:1px solid #bbf7d0;color:var(--theme-success, #16a34a);animation:profileFadeIn .3s ease}.profile-error svg,.profile-success svg{flex-shrink:0;margin-top:1px}.profile-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:profileSpin .8s linear infinite}@keyframes profileSpin{to{transform:rotate(360deg)}}@keyframes profileFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.services-list{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.service-card{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--theme-background, #f9fafb);border:1px solid var(--theme-border-light, #f3f4f6);border-radius:14px;transition:all .2s ease}.service-card:hover{border-color:var(--theme-border, #e5e7eb);box-shadow:0 4px 12px #0000000d}.profile-dialog-enhanced.dark .service-card{background:var(--theme-background, #111827);border-color:var(--theme-border, #374151)}.service-icon{font-size:28px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--theme-surface, #ffffff);border-radius:12px;border:1px solid var(--theme-border-light, #f3f4f6)}.profile-dialog-enhanced.dark .service-icon{background:var(--theme-surface, #1f2937);border-color:var(--theme-border, #374151)}.service-info{flex:1;display:flex;flex-direction:column;gap:2px}.service-name{font-size:15px;font-weight:600;color:var(--theme-text-primary, #1f2937)}.service-email{font-size:13px;color:var(--theme-text-secondary, #6b7280)}.service-connected{font-size:12px;color:var(--theme-text-muted, #9ca3af)}.service-actions{display:flex;gap:8px}.service-action-btn{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--theme-border, #e5e7eb);border-radius:8px;color:var(--theme-text-muted, #9ca3af);cursor:pointer;transition:all .2s ease}.service-action-btn:hover{background:var(--theme-error-light, #fef2f2);border-color:var(--theme-error, #ef4444);color:var(--theme-error, #ef4444)}.add-service-section{padding-top:8px}.add-service-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:14px 20px;background:linear-gradient(135deg,var(--theme-primary, #8b5cf6) 0%,var(--theme-primary-hover, #7c3aed) 100%);border:none;border-radius:12px;font-size:14px;font-weight:600;color:#fff;cursor:pointer;transition:all .2s ease}.add-service-btn:hover{transform:translateY(-1px);box-shadow:0 8px 20px #7c3aed4d}.search-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--theme-background, #f9fafb);border:1px solid var(--theme-border, #e5e7eb);border-radius:10px;margin-bottom:16px}.search-bar svg{color:var(--theme-text-muted, #9ca3af)}.search-bar input{flex:1;background:transparent;border:none;font-size:14px;color:var(--theme-text-primary, #1f2937);outline:none}.search-bar input::-moz-placeholder{color:var(--theme-text-muted, #9ca3af)}.search-bar input::placeholder{color:var(--theme-text-muted, #9ca3af)}.profile-dialog-enhanced.dark .search-bar{background:var(--theme-background, #111827);border-color:var(--theme-border, #374151)}.files-list{display:flex;flex-direction:column;gap:8px}.file-card{display:flex;align-items:center;gap:14px;padding:14px 16px;background:var(--theme-background, #f9fafb);border:1px solid transparent;border-radius:12px;transition:all .2s ease}.file-card:hover{background:var(--theme-surface, #ffffff);border-color:var(--theme-border, #e5e7eb);box-shadow:0 4px 12px #0000000d}.profile-dialog-enhanced.dark .file-card{background:var(--theme-background, #111827)}.profile-dialog-enhanced.dark .file-card:hover{background:var(--theme-surface, #1f2937);border-color:var(--theme-border, #374151)}.file-icon,.file-icon.workbook{color:var(--theme-primary, #7c3aed)}.file-icon.template{color:var(--theme-info, #3b82f6)}.file-icon.imported{color:var(--theme-success, #10b981)}.file-info{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.file-name{font-size:14px;font-weight:500;color:var(--theme-text-primary, #1f2937);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-meta{font-size:12px;color:var(--theme-text-muted, #9ca3af)}.file-actions{display:flex;gap:4px;opacity:0;transition:opacity .2s ease}.file-card:hover .file-actions{opacity:1}.file-action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:6px;color:var(--theme-text-muted, #9ca3af);cursor:pointer;transition:all .2s ease}.file-action-btn:hover{background:var(--theme-surface-hover, #f3f4f6);color:var(--theme-text-primary, #374151)}.file-action-btn:last-child:hover{background:var(--theme-error-light, #fef2f2);color:var(--theme-error, #ef4444)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center}.empty-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:var(--theme-primary-light, #ede9fe);border-radius:20px;color:var(--theme-primary, #7c3aed);margin-bottom:16px}.profile-dialog-enhanced.dark .empty-icon{background:var(--theme-primary-light, #2e1065)}.empty-state h4{font-size:16px;font-weight:600;color:var(--theme-text-primary, #1f2937);margin:0 0 8px}.empty-state p{font-size:14px;color:var(--theme-text-muted, #9ca3af);margin:0;max-width:280px}.settings-section{margin-bottom:32px}.settings-section:last-child{margin-bottom:0}.settings-section-title{font-size:12px;font-weight:700;color:var(--theme-text-muted, #9ca3af);text-transform:uppercase;letter-spacing:.5px;margin:0 0 16px}.theme-selector{margin-bottom:8px}.theme-options{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:12px}.theme-option{display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;background:var(--theme-background, #f9fafb);border:2px solid transparent;border-radius:12px;cursor:pointer;transition:all .2s ease}.theme-option:hover{border-color:var(--theme-border, #e5e7eb)}.theme-option.active{border-color:var(--theme-primary, #7c3aed);background:var(--theme-surface, #ffffff)}.profile-dialog-enhanced.dark .theme-option{background:var(--theme-background, #111827)}.profile-dialog-enhanced.dark .theme-option.active{background:var(--theme-surface, #1f2937)}.theme-preview{width:100%;aspect-ratio:16/10;border-radius:6px;border:1px solid;position:relative;overflow:hidden}.theme-preview-accent{position:absolute;bottom:0;left:0;right:0;height:4px}.theme-name{font-size:12px;font-weight:500;color:var(--theme-text-secondary, #6b7280);display:flex;align-items:center;gap:4px}.theme-option.active .theme-name{color:var(--theme-primary, #7c3aed);font-weight:600}.theme-indicator{opacity:.6}.view-all-themes{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;background:transparent;border:1px dashed var(--theme-border, #e5e7eb);border-radius:8px;font-size:13px;font-weight:500;color:var(--theme-text-muted, #9ca3af);cursor:pointer;transition:all .2s ease}.view-all-themes:hover{border-color:var(--theme-primary, #7c3aed);color:var(--theme-primary, #7c3aed);background:var(--theme-primary-light, #ede9fe)}.settings-list{display:flex;flex-direction:column;gap:4px}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--theme-background, #f9fafb);border-radius:10px;transition:all .2s ease}.setting-item:hover{background:var(--theme-surface-hover, #f3f4f6)}.profile-dialog-enhanced.dark .setting-item{background:var(--theme-background, #111827)}.profile-dialog-enhanced.dark .setting-item:hover{background:var(--theme-surface-hover, #1f2937)}.setting-info{display:flex;flex-direction:column;gap:2px}.setting-label{font-size:14px;font-weight:500;color:var(--theme-text-primary, #1f2937)}.setting-description{font-size:12px;color:var(--theme-text-muted, #9ca3af)}.setting-link{text-decoration:none;cursor:pointer}.toggle-switch{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;inset:0;background:var(--theme-border, #d1d5db);border-radius:24px;transition:all .3s ease}.toggle-slider:before{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;background:#fff;border-radius:50%;transition:all .3s ease;box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider{background:var(--theme-primary, #7c3aed)}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}@media(max-width:768px){.profile-dialog-enhanced{flex-direction:column;max-width:calc(100% - 32px);height:auto;max-height:90vh}.profile-sidebar{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--theme-border, #e5e7eb)}.sidebar-nav{flex-direction:row;overflow-x:auto;padding:8px;gap:4px}.sidebar-nav-item{flex-shrink:0;padding:10px 14px}.sidebar-nav-item span:first-of-type{display:none}.nav-badge{display:none}.profile-main-content{padding:24px;max-height:400px;overflow-y:auto}.profile-info-cards{grid-template-columns:1fr}.theme-options{grid-template-columns:repeat(2,1fr)}}@media(max-width:480px){.profile-dialog-enhanced{max-width:calc(100% - 16px);margin:8px;border-radius:16px}.profile-main-content{padding:20px}.tab-header h3{font-size:20px}.profile-avatar-large{width:80px;height:80px}.profile-name-display h2{font-size:20px}}
