@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";.cizel-header{height:var(--header-height);background:var(--header-bg);border-bottom:1px solid var(--border);z-index:10;flex-shrink:0;align-items:center;gap:12px;padding:0 12px;display:flex;position:relative}.cizel-logo{flex-shrink:0;align-items:center;gap:8px;text-decoration:none;display:flex}.cizel-logo-icon{background:linear-gradient(135deg, var(--accent-500), #7c3aed);color:#fff;letter-spacing:-.5px;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;font-size:14px;font-weight:700;display:flex;box-shadow:0 2px 8px #4f6ef566}.cizel-logo-text{flex-direction:column;line-height:1.1;display:flex}.cizel-logo-name{color:var(--text-primary);letter-spacing:-.3px;font-size:15px;font-weight:700}.cizel-logo-brand{color:var(--text-muted);letter-spacing:.3px;font-size:10px;font-weight:400}.header-filename{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.header-filename input{border-radius:var(--radius-sm);color:var(--text-primary);width:200px;max-width:300px;transition:all var(--transition);background:0 0;border:1px solid #0000;padding:3px 8px;font-size:13px;font-weight:500}.header-filename input:hover{border-color:var(--border);background:var(--bg-surface-2)}.header-filename input:focus{border-color:var(--accent-500);background:var(--bg-surface-2);box-shadow:0 0 0 2px var(--accent-glow)}.header-save-indicator{color:var(--text-muted);white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:flex}.save-dot{background:var(--text-muted);border-radius:50%;flex-shrink:0;width:6px;height:6px}.save-dot.saved{background:var(--green-400)}.save-dot.saving{background:var(--yellow-400);animation:1s infinite pulse}.save-dot.error{background:var(--red-400)}.header-actions{align-items:center;gap:4px;margin-left:auto;display:flex}.header-btn{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;border:1px solid #0000;align-items:center;gap:5px;padding:5px 10px;font-size:12px;font-weight:500;display:flex}.header-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border)}.header-btn.primary{background:var(--accent-500);color:#fff;border-color:var(--accent-500)}.header-btn.primary:hover{background:var(--accent-600);border-color:var(--accent-600)}.header-btn.icon-only{gap:0;padding:5px 7px}.theme-toggle{border-radius:var(--radius-sm);cursor:pointer;width:32px;height:32px;color:var(--text-secondary);transition:all var(--transition);justify-content:center;align-items:center;display:flex}.theme-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.cloud-indicator{border:1px solid #0000;border-radius:20px;align-items:center;gap:6px;padding:4px 10px;font-size:11px;font-weight:500;display:flex}.cloud-indicator.idle{color:var(--text-muted)}.cloud-indicator.saving{color:var(--yellow-400);background:#facc150d;border-color:#facc1533}.cloud-indicator.saved{color:var(--green-400);background:#4ade800d;border-color:#4ade8033}.cloud-indicator.error{color:var(--red-400);background:#f871710d;border-color:#f8717133}.cloud-indicator.offline{color:var(--text-muted);border-color:var(--border);background:var(--bg-surface-2)}.cloud-icon-spin{animation:1s linear infinite spin}.export-dropdown,.user-dropdown{background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:999;min-width:170px;padding:4px;animation:.12s fadeIn;position:absolute;top:calc(100% + 6px);right:0}.user-profile-btn{background:var(--bg-surface-3);border:1px solid var(--border);color:var(--text-primary);cursor:pointer;transition:all var(--transition);border-radius:20px;align-items:center;gap:6px;padding:3px 8px 3px 4px;font-size:12px;font-weight:500;display:flex}.user-profile-btn:hover{border-color:var(--accent-500);background:var(--bg-hover)}.user-avatar{background:linear-gradient(135deg, var(--accent-500), #7c3aed);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:11px;font-weight:700;display:flex}.user-name-label{text-overflow:ellipsis;white-space:nowrap;max-width:100px;overflow:hidden}.user-dropdown-header{flex-direction:column;gap:2px;padding:6px 10px;display:flex}.user-dropdown-header strong{color:var(--text-primary);font-size:12px}.user-dropdown-header span{color:var(--text-muted);word-break:break-all;font-size:10px}.ribbon{background:var(--bg-surface);border-bottom:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-direction:column;flex-shrink:0;display:flex}.ribbon-tabs{background:var(--bg-app);border-bottom:1px solid var(--border);gap:2px;padding:0 12px;display:flex}.ribbon-tab{color:var(--text-secondary);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;transition:all var(--transition);border:1px solid #0000;border-bottom:none;padding:6px 14px;font-size:12px;font-weight:500;position:relative;bottom:-1px}.ribbon-tab:hover{color:var(--text-primary);background:var(--bg-surface)}.ribbon-tab.active{color:var(--text-primary);background:var(--bg-surface);border-color:var(--border);border-bottom-color:var(--bg-surface)}.ribbon-content{align-items:center;gap:4px;min-height:56px;padding:6px 12px;display:flex;overflow:auto hidden}.ribbon-content::-webkit-scrollbar{height:4px}.ribbon-group{flex-direction:column;flex-shrink:0;gap:3px;display:flex}.ribbon-group-label{color:var(--text-muted);text-align:center;letter-spacing:.3px;text-transform:uppercase;padding:0 2px;font-size:10px;font-weight:500}.ribbon-group-items{align-items:center;gap:2px;display:flex}.ribbon-divider{background:var(--border);flex-shrink:0;width:1px;height:40px;margin:0 6px}.rbtn{border-radius:var(--radius-sm);min-width:28px;height:28px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap;background:0 0;flex-shrink:0;justify-content:center;align-items:center;gap:4px;padding:0 6px;font-size:12px;font-weight:500;display:inline-flex;position:relative}.rbtn:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.rbtn:active:not(:disabled){background:var(--bg-selected)}.rbtn:disabled{opacity:.35;cursor:not-allowed}.rbtn-active{background:var(--bg-selected);color:var(--accent-400);border:1px solid var(--border-accent)}.rbtn-active:hover{background:var(--bg-selected)!important}.rbtn-fn{border:1px solid var(--border);border-radius:var(--radius-sm);height:24px;color:var(--text-secondary);background:var(--bg-surface-2);padding:0 8px;font-size:11px}.rbtn-fn:hover{background:var(--accent-500)!important;color:#fff!important;border-color:var(--accent-500)!important}.ribbon-select{border-radius:var(--radius-sm);background:var(--bg-surface-2);border:1px solid var(--border);height:28px;color:var(--text-primary);cursor:pointer;transition:border-color var(--transition);align-items:center;gap:4px;padding:0 6px;font-size:12px;display:inline-flex}.ribbon-select:hover{border-color:var(--border-strong)}.ribbon-select:focus{border-color:var(--accent-500);outline:none}.color-picker{z-index:500;background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:8px;animation:.15s fadeIn;position:absolute;top:calc(100% + 6px);left:0}.color-grid{grid-template-columns:repeat(7,20px);gap:3px;display:grid}.color-swatch{cursor:pointer;border:1px solid #ffffff26;border-radius:3px;width:20px;height:20px;transition:transform .12s,box-shadow .12s}.color-swatch:hover{box-shadow:0 0 0 2px var(--accent-400);z-index:1;position:relative;transform:scale(1.2)}.formula-guide-box{flex-direction:column;width:780px;max-width:92vw;max-height:84vh;display:flex}.formula-guide-header{background:var(--bg-surface-2);border-bottom:1px solid var(--border);padding:12px 18px}.formula-guide-title{align-items:center;gap:10px;display:flex}.formula-guide-badge{border-radius:var(--radius-sm);background:linear-gradient(135deg, var(--accent-500), #8b5cf6);color:#fff;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.formula-guide-main-title{color:var(--text-primary);font-size:14px;font-weight:700;display:block}.formula-guide-sub-title{color:var(--text-muted);font-size:11px;display:block}.formula-lang-switch{background:var(--bg-surface-3);border-radius:var(--radius-sm);border:1px solid var(--border);gap:2px;padding:2px;display:flex}.lang-btn{color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:11px;font-weight:600}.lang-btn:hover{color:var(--text-primary)}.lang-btn.active{background:var(--accent-500);color:#fff}.formula-guide-search-area{background:var(--bg-surface-2);padding:12px 18px 8px}.formula-search-input-box{background:var(--bg-surface-3);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color var(--transition);align-items:center;gap:8px;padding:0 12px;display:flex}.formula-search-input-box:focus-within{border-color:var(--accent-500);box-shadow:0 0 0 2px var(--accent-glow)}.formula-search-icon{color:var(--text-muted);flex-shrink:0}.formula-search-input-box input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:9px 0;font-size:13px}.search-clear-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;padding:4px;display:flex}.formula-category-tabs{background:var(--bg-surface-2);border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:6px 18px 10px;display:flex;overflow-x:auto}.formula-category-tab{color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition);background:0 0;border:1px solid #0000;border-radius:20px;align-items:center;gap:5px;padding:5px 10px;font-size:11px;font-weight:500;display:flex}.formula-category-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.formula-category-tab.active{background:var(--bg-surface-3);color:var(--accent-400);border-color:var(--border-strong);font-weight:600}.formula-guide-list{flex-direction:column;gap:10px;min-height:280px;max-height:480px;padding:14px 18px;display:flex;overflow-y:auto}.formula-empty-state{min-height:220px;color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.formula-item-card{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);flex-direction:column;gap:6px;padding:12px 14px;display:flex}.formula-item-card:hover{border-color:var(--accent-500);background:var(--bg-surface-3);transform:translateY(-1px)}.formula-card-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.formula-card-names{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.formula-primary-name{font-family:var(--font-mono);color:var(--accent-400);background:#4f6ef51a;border-radius:4px;padding:2px 6px;font-size:14px;font-weight:700}.formula-secondary-name{font-family:var(--font-mono);color:var(--text-secondary);font-size:13px;font-weight:600}.formula-tag{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-surface-3);border-radius:3px;padding:1px 5px;font-size:11px}.formula-pill-badge{border-radius:10px;padding:2px 6px;font-size:10px;font-weight:600}.formula-pill-badge.star{color:var(--yellow-400);background:#f59e0b26;border:1px solid #f59e0b4d}.formula-pill-badge.regex{color:#c084fc;background:#a855f726;border:1px solid #a855f74d}.formula-card-actions{align-items:center;gap:6px;display:flex}.formula-action-btn{border-radius:var(--radius-sm);background:var(--bg-surface-3);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:500;display:flex}.formula-action-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--border-strong)}.formula-action-btn.copied{color:var(--green-400);border-color:var(--green-400);background:#10b98126}.formula-action-btn.primary{background:var(--accent-500);color:#fff;border-color:var(--accent-500)}.formula-action-btn.primary:hover{background:var(--accent-600)}.formula-card-desc{color:var(--text-secondary);margin:0;font-size:12px;line-height:1.4}.formula-card-code-area{background:var(--bg-surface-1);border-radius:var(--radius-sm);border:1px solid var(--border);flex-direction:column;gap:3px;margin-top:2px;padding:6px 10px;display:flex}.formula-code-row{align-items:baseline;gap:8px;font-size:11px;display:flex}.formula-code-label{color:var(--text-muted);flex-shrink:0;width:55px}.formula-code-snippet{font-family:var(--font-mono);color:var(--text-primary);font-weight:500}.formula-code-example{font-family:var(--font-mono);color:var(--accent-400);font-weight:500}.formula-bar{height:var(--formulabar-height);background:var(--formulabar-bg);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;display:flex;position:relative}.formula-cell-ref{min-width:70px;font-family:var(--font-mono);color:var(--text-primary);white-space:nowrap;background:var(--bg-surface-2);border-right:1px solid var(--border);justify-content:center;align-items:center;height:100%;padding:0 10px;font-size:12px;font-weight:500;display:flex}.formula-bar-divider{background:var(--border);flex-shrink:0;width:1px;height:18px}.formula-fn-btn{width:30px;height:100%;color:var(--text-secondary);transition:all var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.formula-fn-btn:hover{background:var(--bg-hover);color:var(--accent-400)}.formula-input-wrapper{flex:1;align-items:center;height:100%;display:flex;position:relative}.formula-input{background:0 0;border:none;border-radius:0;outline:none;width:100%;height:100%;padding:0 10px;font-size:13px;transition:none}.formula-input:focus{box-shadow:none;border:none}.formula-suggestions{background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:0 0 var(--radius-md) var(--radius-md);box-shadow:var(--shadow-lg);z-index:200;border-top:none;animation:.15s fadeIn;position:absolute;top:100%;left:0;right:0;overflow:hidden}.formula-suggestion{cursor:pointer;transition:background var(--transition);align-items:center;gap:10px;padding:6px 12px;display:flex}.formula-suggestion:hover,.formula-suggestion.active{background:var(--bg-hover)}.suggestion-name{font-family:var(--font-mono);color:var(--accent-400);min-width:100px;font-size:12px;font-weight:600}.suggestion-desc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;overflow:hidden}.formula-help-panel{background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:480px;max-height:400px;box-shadow:var(--shadow-lg);z-index:300;flex-direction:column;animation:.2s fadeIn;display:flex;position:absolute;top:calc(100% + 2px);left:0}.formula-help-header{border-bottom:1px solid var(--border);color:var(--text-primary);background:var(--bg-surface-3);border-radius:var(--radius-md) var(--radius-md) 0 0;justify-content:space-between;align-items:center;padding:10px 14px;font-size:12px;font-weight:600;display:flex}.formula-help-header button{color:var(--text-muted);border-radius:var(--radius-sm);padding:2px}.formula-help-header button:hover{color:var(--text-primary);background:var(--bg-hover)}.formula-help-list{padding:6px;overflow-y:auto}.formula-help-item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);grid-template-rows:auto auto;grid-template-columns:120px 1fr;gap:2px 8px;padding:7px 8px;display:grid}.formula-help-item:hover{background:var(--bg-hover)}.formula-help-name{font-family:var(--font-mono);color:var(--accent-400);grid-area:1/1;font-size:12px;font-weight:700}.formula-help-desc{color:var(--text-secondary);grid-area:1/2;font-size:11px}.formula-help-usage{font-family:var(--font-mono);color:var(--text-muted);grid-area:2/1/auto/-1;font-size:10px}.cizel-context-menu-overlay{z-index:9998;cursor:default;background:0 0;position:fixed;inset:0}.cizel-context-menu{z-index:9999;background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);-webkit-backdrop-filter:blur(16px);min-width:220px;max-width:280px;font-family:var(--font-ui);-webkit-user-select:none;user-select:none;padding:4px;animation:.12s cubic-bezier(.16,1,.3,1) contextMenuFadeIn;position:fixed;box-shadow:0 10px 30px -5px #00000073,0 0 0 1px #ffffff12}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.96)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}.ctx-item{border-radius:var(--radius-sm);width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:6px 8px;font-size:12px;font-weight:500;transition:background .1s,color .1s;display:flex;position:relative}.ctx-item:hover:not(:disabled){background:var(--bg-hover);color:#fff}.ctx-item:disabled{opacity:.4;cursor:not-allowed}.ctx-item.danger:hover:not(:disabled){color:var(--red-400);background:#ef444426}.ctx-icon{width:16px;height:16px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.ctx-item:hover .ctx-icon{color:var(--accent-400)}.ctx-item.danger:hover .ctx-icon{color:var(--red-400)}.ctx-label{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.ctx-shortcut{font-size:10px;font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.2px;margin-left:12px}.ctx-chevron{color:var(--text-muted);align-items:center;display:flex}.ctx-divider{background:var(--border);height:1px;margin:4px 2px}.ctx-submenu-parent{position:relative}.ctx-submenu-parent:hover>.ctx-submenu{display:block}.ctx-submenu{background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:190px;box-shadow:var(--shadow-lg);z-index:10000;margin-left:2px;padding:4px;animation:.1s contextMenuFadeIn;display:none;position:absolute;top:-4px;left:100%}.ctx-submenu.open-left{margin-left:0;margin-right:2px;left:auto;right:100%}.ctx-header{color:var(--accent-400);text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;font-size:10px;font-weight:600}.grid-container{background:var(--grid-cell-bg);outline:none;flex:1;position:relative;overflow:hidden}.grid-container.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.grid-scroll{width:100%;height:100%;overflow:auto}.grid-table{border-collapse:collapse;table-layout:fixed}.grid-corner{z-index:30;background:var(--grid-header-bg);border-right:2px solid var(--border-strong);border-bottom:2px solid var(--border-strong);position:sticky;top:0;left:0}.grid-corner-btn{cursor:pointer;width:100%;height:100%;transition:background var(--transition);background:0 0}.grid-corner-btn:hover{background:var(--bg-hover)}.grid-col-header{z-index:20;background:var(--grid-header-bg);border-right:1px solid var(--grid-border);border-bottom:2px solid var(--border-strong);height:24px;color:var(--grid-header-text);text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;padding:0 4px;font-size:11px;font-weight:600;position:relative;top:0;overflow:hidden}.grid-col-header span{z-index:1;position:relative}.grid-col-header.highlighted{background:var(--bg-selected);color:var(--accent-400)}.grid-row-header{z-index:10;background:var(--grid-header-bg);border-right:2px solid var(--border-strong);border-bottom:1px solid var(--grid-border);color:var(--grid-header-text);text-align:center;-webkit-user-select:none;user-select:none;white-space:nowrap;padding:0 4px;font-size:11px;font-weight:500;position:sticky;left:0}.grid-row-header.highlighted{background:var(--bg-selected);color:var(--accent-400)}.grid-cell{border-right:1px solid var(--grid-border);border-bottom:1px solid var(--grid-border);color:var(--text-primary);cursor:cell;padding:0 4px;font-size:12px;transition:background 80ms;position:relative;overflow:hidden}.grid-cell:hover:not(.selected){background:color-mix(in srgb, var(--bg-hover) 30%, transparent)}.grid-cell.selected{outline:2px solid var(--accent-500);outline-offset:-1px;z-index:5;background:var(--bg-cell-sel)!important}.grid-cell.in-range{background:#4f6ef514}.grid-cell.cell-error{color:var(--text-error)!important}.grid-cell.cell-formula .cell-content:before{content:"";border-left:5px solid #0000;border-top:5px solid var(--accent-500);opacity:.6;position:absolute;top:0;right:0}.cell-content{text-overflow:ellipsis;white-space:nowrap;max-width:100%;height:100%;line-height:22px;display:block;overflow:hidden}.cell-edit-input{background:var(--bg-surface);width:100%;height:100%;color:var(--text-primary);outline:2px solid var(--accent-500);outline-offset:-1px;z-index:20;border:none;border-radius:0;padding:0 4px;font-size:12px;position:absolute;inset:0;box-shadow:0 2px 12px #4f6ef540}.col-resize-handle{cursor:col-resize;z-index:5;background:0 0;width:5px;height:100%;transition:background .15s;position:absolute;top:0;right:-2px}.col-resize-handle:hover,.grid-container.resizing .col-resize-handle{background:var(--accent-500)}.sheets-tab-bar{height:var(--sheettab-height);background:var(--sheettab-bg);border-top:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:stretch;display:flex;position:relative}.sheets-list{flex:1;align-items:stretch;gap:2px;padding:0 8px;display:flex;overflow:auto hidden}.sheets-list::-webkit-scrollbar{height:3px}.sheet-tab{min-width:80px;max-width:160px;color:var(--text-secondary);cursor:pointer;border-radius:var(--radius-sm) var(--radius-sm) 0 0;transition:all var(--transition);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-bottom:none;align-items:center;gap:5px;margin-top:4px;padding:0 12px;font-size:12px;font-weight:500;display:flex;position:relative;overflow:hidden}.sheet-tab:hover:not(.active){background:var(--bg-hover);color:var(--text-primary)}.sheet-tab.active{background:var(--bg-surface);color:var(--text-primary);border-color:var(--border);border-bottom-color:var(--bg-surface);margin-top:2px;padding-bottom:2px}.sheet-tab-color-bar{border-radius:var(--radius-sm) var(--radius-sm) 0 0;height:2px;position:absolute;top:0;left:0;right:0}.sheet-tab-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sheet-tab-rename{background:var(--bg-surface-2);border:1px solid var(--accent-500);color:var(--text-primary);border-radius:3px;outline:none;width:100px;padding:1px 5px;font-size:12px;font-weight:500}.sheet-tab-delete{width:16px;height:16px;color:var(--text-muted);transition:all var(--transition);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.sheet-tab-delete:hover{color:var(--red-400);background:#f8717126}.sheet-add-btn{width:32px;height:100%;color:var(--text-muted);transition:all var(--transition);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sheet-add-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.context-menu-overlay{z-index:499;position:fixed;inset:0}.context-menu{z-index:500;background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;padding:4px;animation:.15s fadeIn;position:fixed}.context-menu-item{text-align:left;width:100%;color:var(--text-primary);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition);padding:7px 12px;font-size:12px;font-weight:500;display:block}.context-menu-item:hover:not(.no-hover){background:var(--bg-hover)}.context-menu-item.no-hover{cursor:default;flex-direction:column;align-items:flex-start}.context-menu-item.danger:hover{color:var(--red-400);background:#f871711a}.context-menu-divider{background:var(--border);height:1px;margin:4px 0}.find-replace-box{min-width:420px;max-width:520px}.find-replace-tabs{gap:4px;display:flex}.fr-tab{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition);align-items:center;gap:5px;padding:5px 12px;font-size:12px;font-weight:500;display:flex}.fr-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.fr-tab.active{background:var(--accent-500);color:#fff}.fr-results-bar{background:var(--bg-surface-3);border-radius:var(--radius-sm);border:1px solid var(--border);flex-wrap:wrap;gap:4px;max-height:80px;padding:6px 8px;display:flex;overflow-y:auto}.fr-result-chip{background:var(--bg-surface-2);border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;font-size:10px;font-weight:600;font-family:var(--font-mono);border-radius:20px;align-items:center;padding:2px 7px;transition:all .12s;display:inline-flex}.fr-result-chip:hover{border-color:var(--accent-500);color:var(--accent-400)}.fr-result-chip.active{background:var(--bg-selected);border-color:var(--accent-500);color:var(--accent-400)}.cf-box{min-width:520px;max-width:620px}.cf-body{flex-direction:column;gap:12px;max-height:480px;display:flex;overflow-y:auto}.cf-rule{background:var(--bg-surface-3);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:8px;padding:12px;display:flex}.cf-rule-header{justify-content:space-between;align-items:center;display:flex}.cf-field{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cf-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;min-width:50px;font-size:11px;font-weight:600}.cf-preset-btn{border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:3px 10px;font-size:11px;transition:all .12s}.cf-preset-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.chart-modal-box{width:760px;max-width:90vw;max-height:85vh}.chart-modal-body{grid-template-columns:240px 1fr;gap:16px;padding:16px;display:grid}.chart-controls{background:var(--bg-surface-2);border-radius:var(--radius-md);border:1px solid var(--border);flex-direction:column;gap:14px;padding:12px;display:flex}.chart-control-group{flex-direction:column;gap:6px;display:flex}.chart-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.chart-type-buttons{grid-template-columns:1fr 1fr;gap:4px;display:grid}.chart-type-btn{border-radius:var(--radius-sm);color:var(--text-secondary);background:var(--bg-surface-3);border:1px solid var(--border);cursor:pointer;transition:all var(--transition);justify-content:center;align-items:center;gap:6px;padding:6px 8px;font-size:11px;font-weight:500;display:flex}.chart-type-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chart-type-btn.active{background:var(--accent-500);color:#fff;border-color:var(--accent-500)}.palette-preview{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-surface-3);cursor:pointer;transition:all var(--transition);gap:2px;padding:4px;display:flex}.palette-preview:hover{border-color:var(--accent-500)}.palette-preview.active{border-color:var(--accent-500);box-shadow:0 0 0 1px var(--accent-500)}.palette-preview span{border-radius:2px;width:10px;height:14px}.chart-preview-area{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md);justify-content:center;align-items:center;min-height:340px;padding:16px;display:flex;position:relative}@media (width<=680px){.chart-modal-body{grid-template-columns:1fr}}.auth-modal-box{width:380px;max-width:90vw}.auth-modal-title{align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.auth-logo-badge{background:linear-gradient(135deg, var(--accent-500), #7c3aed);color:#fff;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.auth-tabs{border-bottom:1px solid var(--border);background:var(--bg-surface-3);display:flex}.auth-tab{color:var(--text-secondary);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px;font-size:12px;font-weight:600}.auth-tab:hover{color:var(--text-primary)}.auth-tab.active{color:var(--accent-400);border-bottom-color:var(--accent-500);background:var(--bg-surface-2)}.auth-modal-body{flex-direction:column;gap:14px;padding:18px 16px;display:flex}.auth-error-banner{border:1px solid var(--red-400);color:var(--red-400);border-radius:var(--radius-sm);background:#ef44441f;padding:8px 12px;font-size:12px;animation:.12s fadeIn}.auth-input-group{flex-direction:column;gap:5px;display:flex}.auth-input-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:11px;font-weight:600}.auth-input-wrapper{background:var(--bg-surface-3);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition);align-items:center;padding:0 10px;display:flex}.auth-input-wrapper:focus-within{border-color:var(--accent-500);box-shadow:0 0 0 2px var(--accent-glow)}.auth-input-icon{color:var(--text-muted);flex-shrink:0;margin-right:8px}.auth-input-wrapper input{color:var(--text-primary);background:0 0;border:none;outline:none;flex:1;padding:8px 0;font-size:13px}.auth-submit-btn{justify-content:center;align-items:center;gap:8px;margin-top:6px;padding:9px;font-size:13px;font-weight:600;display:flex}.docs-modal-box{width:680px;max-width:90vw;max-height:80vh}.docs-modal-tabs{background:var(--bg-surface-3);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 16px;display:flex}.docs-tab{color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition);background:0 0;border:1px solid #0000;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:600;display:flex}.docs-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.docs-tab.active{background:var(--bg-surface-2);color:var(--accent-400);border-color:var(--border)}.docs-modal-body{min-height:300px;max-height:480px;padding:16px;overflow-y:auto}.docs-empty-state{min-height:240px;color:var(--text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:13px;display:flex}.docs-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;display:grid}.doc-card{background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);align-items:center;gap:12px;padding:12px;display:flex}.doc-card:hover{background:var(--bg-hover);border-color:var(--accent-500);transform:translateY(-1px)}.doc-card-icon{border-radius:var(--radius-sm);width:36px;height:36px;color:var(--accent-400);background:#4f6ef526;flex-shrink:0;justify-content:center;align-items:center;display:flex}.doc-card-icon.local{color:var(--green-400);background:#10b98126}.doc-card-info{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.doc-card-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.doc-card-meta{color:var(--text-muted);align-items:center;gap:6px;font-size:11px;display:flex}.doc-card-actions{align-items:center;gap:4px;display:flex}.doc-action-btn{border-radius:var(--radius-sm);width:26px;height:26px;color:var(--text-muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.doc-action-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.doc-action-btn.danger:hover{color:var(--red-400);background:#ef444426}.conflict-modal-box{width:620px;max-width:90vw}.text-warning{color:var(--yellow-400)}.conflict-modal-body{flex-direction:column;gap:16px;padding:16px;display:flex}.conflict-comparison{grid-template-columns:1fr 1fr;gap:14px;display:grid}.conflict-card{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--bg-surface-2);flex-direction:column;gap:12px;padding:14px;display:flex}.conflict-card.server{background:#3b82f60a;border-color:#3b82f666}.conflict-card.local{background:#4f6ef50a;border-color:#4f6ef566}.conflict-card-header{color:var(--text-primary);align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.conflict-card.server .conflict-card-header{color:#60a5fa}.conflict-card.local .conflict-card-header{color:var(--accent-400)}.conflict-card-meta{color:var(--text-muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.conflict-action-btn{margin-top:auto;padding:8px;font-size:12px}:root{--font-ui:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Courier New", monospace;--bg-app:#0e0f13;--bg-surface:#14151c;--bg-surface-2:#1a1b25;--bg-surface-3:#21222e;--bg-elevated:#252636;--bg-hover:#2a2b3d;--bg-selected:#1e3a5f;--bg-cell-sel:#3b82f626;--border:#2c2d3e;--border-strong:#3d3f5a;--border-accent:#4f6ef5;--text-primary:#e8eaf0;--text-secondary:#8b8fa8;--text-muted:#5a5c72;--text-accent:#7b9ef8;--text-success:#4ade80;--text-warning:#facc15;--text-error:#f87171;--accent-400:#7b9ef8;--accent-500:#4f6ef5;--accent-600:#3b5af0;--accent-700:#2d46d6;--accent-glow:#4f6ef54d;--green-400:#4ade80;--green-500:#22c55e;--yellow-400:#facc15;--red-400:#f87171;--red-500:#ef4444;--ribbon-height:94px;--ribbon-bg:#16172080;--ribbon-border:#2c2d3e;--header-height:48px;--header-bg:#0e0f13;--formulabar-height:32px;--formulabar-bg:#14151c;--sheettab-height:36px;--sheettab-bg:#12131a;--grid-header-bg:#1a1b25;--grid-cell-bg:#0e0f13;--grid-border:#2a2b3a;--grid-header-text:#8b8fa8;--scrollbar-w:8px;--scrollbar-thumb:#2e2f45;--scrollbar-hover:#3d3f5a;--transition:.15s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 8px 32px #0009;--shadow-glow:0 0 20px var(--accent-glow);--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px}[data-theme=light]{--bg-app:#f0f1f5;--bg-surface:#fff;--bg-surface-2:#f8f9fc;--bg-surface-3:#eff0f5;--bg-elevated:#fff;--bg-hover:#e8eaf2;--bg-selected:#dbe8ff;--bg-cell-sel:#3b82f61a;--border:#d8dae8;--border-strong:#c0c3d8;--border-accent:#4f6ef5;--text-primary:#1a1b2e;--text-secondary:#555870;--text-muted:#9099b8;--text-accent:#3b5af0;--text-success:#16a34a;--text-warning:#ca8a04;--text-error:#dc2626;--ribbon-bg:#fffc;--ribbon-border:#d8dae8;--header-bg:#f0f1f5;--formulabar-bg:#fff;--sheettab-bg:#e8eaf2;--grid-header-bg:#f0f1f5;--grid-cell-bg:#fff;--grid-border:#d8dae8;--grid-header-text:#555870;--scrollbar-thumb:#c8cad8;--scrollbar-hover:#a8aac0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-app);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:13px;line-height:1.5}::-webkit-scrollbar{width:var(--scrollbar-w);height:var(--scrollbar-w)}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-hover)}::-webkit-scrollbar-corner{background:0 0}button{font-family:var(--font-ui);cursor:pointer;color:inherit;transition:all var(--transition);background:0 0;border:none;outline:none}button:disabled{opacity:.4;cursor:not-allowed}input,textarea{font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition);outline:none}input:focus,textarea:focus{border-color:var(--accent-500);box-shadow:0 0 0 2px var(--accent-glow)}select{font-family:var(--font-ui);color:var(--text-primary);background:var(--bg-surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;outline:none}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.text-sm{font-size:12px}.text-xs{font-size:11px}.font-medium{font-weight:500}.font-semibold{font-weight:600}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.anim-fade-in{animation:.2s forwards fadeIn}.anim-slide-in{animation:.2s forwards slideIn}.anim-pulse{animation:1.5s infinite pulse}.anim-spin{animation:1s linear infinite spin}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);border:1px solid var(--border);color:var(--text-primary);white-space:nowrap;border-radius:var(--radius-sm);pointer-events:none;opacity:0;transition:opacity var(--transition);z-index:9999;box-shadow:var(--shadow-md);background:#1e1f2e;padding:4px 8px;font-size:11px;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}[data-tooltip]:hover:after{opacity:1}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1000;background:#000000b3;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.modal-box{background:var(--bg-surface-2);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);min-width:360px;max-width:90vw;max-height:90vh;animation:.2s fadeIn;overflow:auto}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.modal-body{padding:20px}.modal-footer{border-top:1px solid var(--border);justify-content:flex-end;align-items:center;gap:8px;padding:16px 20px;display:flex}.btn{border-radius:var(--radius-sm);transition:all var(--transition);white-space:nowrap;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:500;display:inline-flex}.btn-primary{background:var(--accent-500);color:#fff}.btn-primary:hover{background:var(--accent-600)}.btn-primary:active{background:var(--accent-700)}.btn-secondary{background:var(--bg-surface-3);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-hover);border-color:var(--border-strong)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--bg-hover);color:var(--text-primary)}.btn-danger{background:var(--red-500);color:#fff}.btn-danger:hover{opacity:.85}.divider{background:var(--border);flex-shrink:0;width:1px;height:20px}.divider-h{background:var(--border);height:1px}.badge{border-radius:20px;align-items:center;padding:2px 7px;font-size:11px;font-weight:600;display:inline-flex}.badge-green{color:var(--green-400);background:#4ade8026}.badge-blue{color:var(--accent-400);background:#4f6ef526}.badge-red{color:var(--red-400);background:#f8717126}.badge-yellow{color:var(--yellow-400);background:#facc1526}.cizel-app{background:var(--bg-app);width:100vw;height:100vh;color:var(--text-primary);font-family:var(--font-ui);flex-direction:column;display:flex;overflow:hidden}.cizel-grid-area{flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.cizel-statusbar{height:24px;color:var(--text-muted);background:var(--bg-app);border-top:1px solid var(--border);-webkit-user-select:none;user-select:none;flex-shrink:0;align-items:center;gap:8px;padding:0 12px;font-size:11px;display:flex}.statusbar-divider{background:var(--border);width:1px;height:12px}
