.sheetWrap{outline:none}.toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:10px;border:1px solid #e2e8f0;border-radius:12px;background:#f8fafc;margin-bottom:10px}.toolbar button{padding:6px 10px;border:1px solid #cbd5e1;border-radius:6px;background:#fff;cursor:pointer}.toolbar .iconButton{width:34px;height:34px;padding:0;border-radius:6px;display:inline-flex;align-items:center;justify-content:center}.toolbar .iconButton.toggleOn{background:#dbeafe;border-color:#93c5fd}.toolbar .iconButton svg{font-size:18px}.toolbar .widthSelect{height:34px;border:1px solid #cbd5e1;border-radius:6px;padding:0 8px;background:#fff}.toolbar .borderMenuTrigger{width:52px;padding:0 4px;justify-content:space-between}.paletteAnchor{position:relative}.borderMenu{position:absolute;top:40px;left:0;display:flex;gap:14px;align-items:flex-start;background:#f1f3f4;padding:12px;border:1px solid #dadce0;border-radius:10px;box-shadow:0 12px 24px #0000002e;z-index:12}.borderMenuGrid{display:grid;grid-template-columns:repeat(4,40px);gap:8px}.toolbar .borderMenuButton{width:40px;height:34px;padding:0;border:1px solid transparent;border-radius:6px;background:transparent;color:#3c4043}.toolbar .borderMenuButton:hover{background:#e8eaed;border-color:#dadce0}.borderMenuDivider{width:1px;height:100%;align-self:stretch;background:#dadce0}.borderMenuSide{display:flex;flex-direction:column;gap:10px;min-width:120px}.toolbar .borderMenuColorButton{height:34px;width:100%;padding:0 6px;display:flex;align-items:center;justify-content:space-between;gap:6px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}.borderColorPreview{display:block;flex:1 1 auto;height:4px;border-radius:999px}.toolbar .borderWidthSelect{width:100%}.paletteWrap{position:absolute;top:40px;left:0;background:#fff;padding:10px;border-radius:8px;box-shadow:0 12px 24px #0000002e;z-index:5}.paletteGrid{display:grid;grid-template-columns:repeat(6,40px);gap:0}.toolbar .paletteSwatch{width:40px;height:26px;cursor:pointer;padding:0;border:2px solid #f0f0f0;outline:none;background:transparent;border-radius:6px;appearance:none;-webkit-appearance:none}.toolbar .paletteSwatch.selected{outline:3px solid #ffffff;outline-offset:-3px;box-shadow:0 0 0 2px #aaa;border-radius:6px}.toolbar button:disabled{opacity:.5;cursor:not-allowed}.contextMenu{position:fixed;background:#fff;border:1px solid #cbd5e1;border-radius:8px;box-shadow:0 12px 24px #0000002e;padding:4px;z-index:30;min-width:160px}.contextMenuItem{display:block;width:100%;padding:8px 10px;border:none;background:transparent;text-align:left;cursor:pointer;font-size:13px}.contextMenuItem:hover{background:#f1f5f9}.grid{border-collapse:collapse;border-spacing:0;-webkit-user-select:none;user-select:none;table-layout:fixed;overflow:visible}.sheetWrap.readOnly .grid{-webkit-user-select:text;user-select:text}.sheetWrap.readOnly .cellValue{cursor:text}.cell{border:0;min-width:0;padding:0}.corner,.colHeader,.rowHeader{border-right:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;min-width:0;padding:0}.sheetWrap.readOnly .cell,.sheetWrap.readOnly .corner,.sheetWrap.readOnly .colHeader,.sheetWrap.readOnly .rowHeader{border-right-color:transparent;border-bottom-color:transparent}.corner,.rowHeader,.colHeader{background:#f1f5f9;color:#475569;font-size:12px;text-align:center;min-width:40px}.rowHeader{min-width:40px}.rowHeaderSelected,.colHeaderSelected{background:#e0f2fe;color:#1e40af}.grid tr:first-child .corner,.grid tr:first-child .colHeader{border-top:1px solid #e2e8f0}.grid tr .corner,.grid tr .rowHeader{border-left:1px solid #e2e8f0}.cellBox{position:relative;width:100%;height:100%}.cellValue{display:flex;width:100%;height:100%;padding:4px 8px;font-size:13px;overflow:hidden;white-space:pre-wrap;word-break:break-word;line-height:1.3}.cellValueText{width:100%}.cellInput{width:100%;height:100%;padding:4px 8px;font-size:13px;border:none;outline:none;background:transparent}.selected{outline:2px solid #3b82f6;outline-offset:-2px}.inRange{background:#eff6ff}.fillHandle{position:absolute;width:8px;height:8px;right:-4px;bottom:-4px;background:#3b82f6;border:2px solid #ffffff;border-radius:2px;cursor:crosshair;box-sizing:border-box}.colHeader,.rowHeader{position:relative;overflow:visible}.colResizeHandle{position:absolute;top:0;right:-4px;width:8px;height:100%;cursor:col-resize;z-index:2;background:transparent}.rowResizeHandle{position:absolute;left:0;bottom:-3px;width:100%;height:6px;cursor:row-resize}
